1--极易忘记的
2--运行下面这个程序会异常中止,我们说可以把指针看作数组的时候是建立在这个指针已经指向一个数组的时候,否则毫无意义。
#include <stdio.h>
int main() {
int *s;
s[0]=1;
printf("%d",s[0]);
}
--------------------------------
Process exited after 4.262 seconds with return value 3221225477
请按任意键继续. . .
#include <stdio.h>
int main() {
int a[]={1,3,5};
int *s=a;
s[0]=2;
printf("s[0]=%d",s[0]);
}
s[0]=2
--------------------------------
Process exited after 0.07259 seconds with return value 0
请按任意键继续. . .
再看这道题
所以答案显而易见,*s并未指向任何数组,所以s[0]的使用自然是非法的。