读书人

这样为什么也能过?该怎么处理

发布时间: 2012-04-16 16:20:04 作者: rapoo

这样为什么也能过?

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就被赋值为这个匿名数组的收元素指针。

读书人网 >C语言

热点推荐