char *p="abcdef";
printf("%c",p[1]);
char q[7]="abcdef";
printf("%c",q[1]);
以上兩句雖然打印結(jié)構(gòu)相同迈套,但內(nèi)部邏輯完全不同。究其原因如下:
上面指針p可以解釋為:符號表中p是一個地址,在這個地址中存儲了一個數(shù)組的首地址侵佃。
上面的數(shù)組q可以解釋為:符號表中q是一個地址麻昼,這個地址就是數(shù)組的首地址。
char *p="abcdef";
printf("%c",p[1]);
char q[7]="abcdef";
printf("%c",q[1]);
以上兩句雖然打印結(jié)構(gòu)相同迈套,但內(nèi)部邏輯完全不同。究其原因如下:
上面指針p可以解釋為:符號表中p是一個地址,在這個地址中存儲了一個數(shù)組的首地址侵佃。
上面的數(shù)組q可以解釋為:符號表中q是一個地址麻昼,這個地址就是數(shù)組的首地址。