今天写代码时发现无法将一个二维数组的数组名赋给一个指针
例如int a[3][2] = {{1,2},{3,4},{5,6}} int *p = a编译的时候会报错
这是因为二维数组名是数组第一行的行地址也就是&a[0]的地址,如果把a[0]赋给一个指针,这个指针应该指向a[0]的,但是a[0]不是一个具体元素而是一个地址,所以不能把二维数组名赋给一个指针,因为a[0]是一个地址,也不能使用二重指针。如果把它赋给int **p也不可以因为数组名指针可以说是
int(p)[2] 形的,而二重指针是 int 形的显然是不能直接赋值的。
文章标题
最新推荐文章于 2023-10-19 15:03:50 发布