函数不能返回数组,只能返回指向数组的指针.所以我尝试这样做:
int *arr = {-1, -1};
Run Code Online (Sandbox Code Playgroud)
这是有效的语法吗?我得到了编译器的警告.如果没有,是否有更好的方法将指针变量设置为数组而不进行循环?
不.这不是有效的语法.可以是指向复合文字的指针的有效语法是
int *arr = (int []){-1, -1}; // Valid only in C99 and latter
Run Code Online (Sandbox Code Playgroud)
如果你想返回一个数组然后返回一个指向它的指针;
int *arr = malloc(sizeof(*arr)*2);
....
return arr;
Run Code Online (Sandbox Code Playgroud)