小编mal*_*lux的帖子

在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万
查看次数

标签 统计

arrays ×1

c ×1

initialization ×1