关于二维数组的问题
&p[0][0]=*(*(p+0)+0)=**p我想问,*(p+0)为什么是p的地址,加个*号不是应该取(p+0)这个地址中的值吗
为什么*p=p
#include <stdio.h> void main() { int p[4][4] = {0}; printf("p value is 0x%x\n", (int)p); printf("&p value is 0x%x\n", (int)&p); printf("&p + 1 value is 0x%x\n", (int)(&p + 1)); printf("p + 1 value is 0x%x\n", (int)(p + 1)); printf("p[0] + 1 value is 0x%x\n", (int)(p[0] + 1)); printf("p[1] value is 0x%x\n", (int)(p[1])); printf("&p[0] + 1 value is 0x%x\n", (int)(&p[0] + 1)); printf("&p[0][0] + 1 value is 0x%x\n", (int)(&p[0][0] + 1)); }