这样为什么也能过?该怎么处理
这样为什么也能过?C/C++ code#include stdio.hint main(void){char * pp abcdefgprintf(%s, p)
这样为什么也能过?
C/C++ code#include <stdio.h>int main(void){ char * p; p = "abcdefg"; printf("%s", p); return 0;}
为什么这样编译也能通过?不解?明明没有分配内存?真的不解!还是字体串处理不同?还是我对指针没有理解透?我用的是vc++6.0.
[解决办法]到底是什么书说指针要分配内存才能用的???
指针只要合理的初始化或赋值,指向一个有效的对象就可以使用!、
p = "abcdefg";
"abcdefg"是一个匿名字符数组,数组名可以隐式转换成首元素的指针,于是p就被赋值为这个匿名数组的收元素指针。