C - 这个变量的类型是什么?

in *_*eps 1 c arrays pointers

我有一个2D数组

对于前

int arr[3][3] = {{1,2,3},{4,5,6},{7,8,9}};
Run Code Online (Sandbox Code Playgroud)

那会是什么类型的?

&arr[1]
Run Code Online (Sandbox Code Playgroud)

我以为它会是**(双指针)但是当我写一个函数如

int **get_arr()
{
    return &arr[1];
}
Run Code Online (Sandbox Code Playgroud)

我收到警告

return from incompatible pointer type
Run Code Online (Sandbox Code Playgroud)

hac*_*cks 5

那会是什么类型的?

 &arr[1]  
Run Code Online (Sandbox Code Playgroud)

类型为&arr[1]is int (*)[3],即它是指向3个整数数组的指针类型.

我以为会是**(双指针)

你错了.&arr[1]不是双指针.正如我已经提到的,它是类型的int (*)[3].