C语言行指针,列指针问题,请详细讲解一下。就是二维数组,看成是一位数组。

2024-12-30 06:12:09
推荐回答(2个)
回答1:

二维数组其实就是一维数组 只不过每个元素又是一个数组而已

int a[][] 二维数组 也就是 列的地址是行 行的地址是数组名
比如 int a[10][10] a[1][0] 的地址是 a[1] a[1]的地址是 a
int a(*p)[] 一个指针数组 同上
区别是 二维数组的是地址常量不可变 而指针数组的是变量可变,更加灵活
二维数组还有下面的表示方法
int i;
什么 *(*(a+i)+j) *(*(a+i)[j]) *([i]+j) 之类的 为什么可以这样呢 因为z这个括号[]是为了简便程序员的书写发明的 他的本质就是这些表示方式 而 诸如a++ a-- 则是非法的 因为 刚刚说了 因为他是常量

回答2:

qq拿来,我看能不能给你讲明白。