关于C语言中“二维数组和数组元素的地址”的为问题。

2025-05-14 09:41:00
推荐回答(4个)
回答(1):

呵呵,首先你的二维数组写错了。这个赋值语句是不合法的,因为指针p是指向一个int值的,而a是指向一个int指针的指针,它俩的类型都不同。。所以这个语句是不合法的。。

回答(2):

数组名可以认为是个指针常量。
int *p,a[3][4];

你不可以 p = a; 因为a是二维数组。
但是你可以 p = (int*)a; 或者 p = a[0];或者 p = *a;

回答(3):

p是一维指针, (int*)a是强制转换,转换二维指针得到一个一维指针给p当然可以。
p=*a,*a是一维指针,所以一维指针给一维指针赋值当然可以

回答(4):

不可以