一直有这个疑问,并且经常纠结,今天终于搞明白了。
char *name1;
char name2[20] ; // char *name不能用scanf,没开辟空间指针只能接受地址默认为8个字节
NSLog(@"%lu,%lu",sizeof(name1),sizeof(name2));// 打印结果为8,20,字符数组真正开辟了20个空间,指针只是默认有8个字节来接收地址,scanf只是接受数值而没有空间,所以不能用定义指针接受
分享一下今天的经验有帮助的话可以转载,有问题也可留言或评论,大家一起讨论。
本文出自 “M了个J” 博客,请务必保留此出处http://343351666.blog.51cto.com/10046561/1625931
原文:http://343351666.blog.51cto.com/10046561/1625931