Dan*_*sen 5 c arrays syntax pointers declaration
在 C 中,您可以声明一个指向数组的变量,如下所示:
int int_arr[4] = {1,2,3,4};
int (*ptr_to_arr)[4] = &int_arr;
Run Code Online (Sandbox Code Playgroud)
尽管实际上它与声明一个指向 int 的指针相同:
int *ptr_to_arr2 = int_arr;
Run Code Online (Sandbox Code Playgroud)
但从语法上来说,它是不同的。
现在,一个返回这样一个指向数组(例如 int )的指针的函数会是什么样子?
的声明int是int foo;.
4 数组的声明int是int foo[4];。
指向 4 数组的指针的声明int是int (*foo)[4];。
返回指向 4 数组的指针的函数的声明int是int (*foo())[4];。可以()用参数声明来填充。