char *string; scanf("%s",string); printf("%s",string);
这个语句如果输入一个字符串比如是hello,为什么编译器显示的是NULL,
是不是因为没有初始化,应该如何初始化呢?如果就是想用指针来定义数组应该如何修改这个语句。谢谢!
You have no rights to post comments
Comments
char *string = malloc(sizeof(char) * 100);
// Your code
free(string);
malloc是让程序从heap内存里返回一个可用的地址,我记得数组定义法的底层实现就是这样
还要记得最后用free(),不然会内存泄漏。
只定义了一个字符指针啊
char string[100];
这样才是定义一个字符串,系统为字符串分配100字节的内存来保存字符串。