#include<stdlib.h>
int main()
{
char ch, *p1, **p2, ***p3, ****p4;
ch='a';
p1=&ch;
printf("%c %d %c\n", ch, p1, *p1);
p2=&p1;
printf("%d %d %c\n", p2, *p2, **p2);
p3=&p2;
printf("%d %d %d %c\n", p3, *p3, **p3, ***p3);
p4=&p3;
printf("%d %d %d %d %c\n", p4, *p4, **p4, ***p4, ****p4);
}
输出看起来像:
a 298923415 a
298923416 298923415 a
298923424 298923416 298923415 a
298923432 298923424 298923416 298923415 a
为什么对于 p1 和 p2 分配的地址以 1 递增,而对于 p3 和 p4 分配的地址以 8 递增?
寻址是否遵循任何模式,因为它们被分配在连续的内存位置?