c语言中 指针的兼容性

img


为什么pt= ar1 无效哇
还有为什么ar1指向含三个元素的数组 ar2指向含两个元素数组 这个应该怎么判断

pt是int *,ar1是二维数组,相当于int **,编译器不会帮你默认转换不同类型的指针,你可以强制转换 p = (int *)ar1;可以通过
ar1[2][3],相当于2个整型数组,每个数组3个元素。这为啥不理解?二维数组就像一个棋盘,棋盘的每一行就相当于一个数组。那么棋盘不就是一个行的数组么?