相关疑难解决方法(0)

C语言中的指针算法

请考虑以下代码片段:

int (*p)[3];
int (*q)[3];

q = p;
q++;
printf("%d, %d\n", q, p);
printf("%d\n", q-p);
Run Code Online (Sandbox Code Playgroud)

我知道指针算法是智能的,这意味着操作q++前进q足够的字节指向下一个3整数数组,所以第一次打印是' 12, 0' 并不意味着递增q使它在12中更大.

但第二次印刷确实令我惊讶.它打印1!
那么为什么它会打印1而不是12?它只是困惑我.

c pointers pointer-arithmetic

12
推荐指数
1
解决办法
8804
查看次数

标签 统计

c ×1

pointer-arithmetic ×1

pointers ×1