相关疑难解决方法(0)

从函数返回一个二维数组

嗨,我是C++的新手,我试图从一个函数返回一个二维数组.就是这样的

int **MakeGridOfCounts(int Grid[][6])
{
  int cGrid[6][6] = {{0, }, {0, }, {0, }, {0, }, {0, }, {0, }};

  return cGrid;
}
Run Code Online (Sandbox Code Playgroud)

c++ multidimensional-array

45
推荐指数
4
解决办法
13万
查看次数

为什么C函数不能返回数组?语言设计的基本原理是什么?

我是一个初学程序员并且对C知之甚少.我知道的一件事但是没有向我解释过为什么函数不能返回数组.通过使用指针或将数组包装在a中,可以很容易地避免这种情况(从函数返回一个2d数组)struct,但我的问题是"为什么?".

为什么函数不能返回数组?

我知道有一些简单的解决方法,但自从我发现它之后,这个问题一直困扰着我.这是C内部设计的一个缺陷,还是故意将它放在那里?是否存在这种限制的特殊原因?

c arrays function

19
推荐指数
1
解决办法
543
查看次数

在C中初始化2D char数组

与此问题类似:2d数组,在C中使用calloc

我需要帮助初始化一个2D char数组,它将全部初始化为某个值(在本例中为'0').我尝试了很多不同的方法,我正在拔头发.请让我知道我做错了什么.此代码不起作用.谢谢!

char** init_array() {
        char newarray[5][10];
        int i, j;
        for (i = 0; i < 5; i++) {
                for (j = 0; j < 10; j++) {
                        newarray[i][j] = '0';
                }
        }
        return newarray;
}
char **array = init_array();
Run Code Online (Sandbox Code Playgroud)

我尝试编译时从gcc获得的错误:

test.c: In function ‘init_array’:
test.c:12:2: warning: return from incompatible pointer type [enabled by default]
  return newarray;
  ^
test.c:12:2: warning: function returns address of local variable [-Wreturn-local-addr]
test.c: At top level:
test.c:14:1: error: initializer element is not constant …
Run Code Online (Sandbox Code Playgroud)

c arrays initialization

4
推荐指数
1
解决办法
4万
查看次数

在return语句之前理解free()缓冲区

我想了解从函数调用返回指针的行为.假设我有以下简单代码:

int main(){
    int i;
    float *ssd;
    ssd = test();

    for (i = 0; i < 3; ++i) {
        printf("%f, ", ssd[i]);
    }
    printf("\n \n");

    memset(ssd, 0.0, 3*sizeof(float));

    for (i = 0; i < 3; ++i) {
        printf("%f, ", ssd[i]);
    }
    printf("\n \n");

}

float *test(){

    float *buff = malloc(3* sizeof(float));
    int i;
    for (i = 0; i < 3; ++i) {
        buff[i] = (float) (6.31 + i);
    }

    free(buff);
    return buff;

}
Run Code Online (Sandbox Code Playgroud)

如你所见,我在buff里面创建了一个临时缓冲区test().在我回来之前,我buff在 …

c pointers memory-management

0
推荐指数
1
解决办法
1917
查看次数