char *p="abcd"和char p[]="abcd"的区别
zrhk 2002-12-06 02:28:10 程序一:
char *p="abcd";
sizeof(p)/sizeof(char); //为4
*(p+4)=='\0'; //true!
strupr(p); //这行编译通过但是运行会出错
程序二:
char p[]="abcd";
sizeof(p)/sizeof(char); //为5
*(p+4)=='\0'; //true
strupr(p); //all right
我认为问题主要是在申请的空间上
为什么一个空间4,另个为5,请大家多多指点