char p[]="hello";与char *p="hello";定义在同一个函数中,结果return (p);
按照一般情况,两者没有太大区别,但看了下《高质量C编程》,
里面刚好也有这个例子,但从内存上考虑,有一种是错误的,
相信各位前辈遇到过同样的问题,有没有一个让人便于的理解?
数组不就可以用一个指针来表示吗?为何两者在内存分配上又会有这样的区别呢?可否介绍本书,或资料关于内存处理的全过程,想彻底了解下!谢谢了!
追答这些属于进阶内容了
推荐一本《C专家编程》
无论数组还是指针还是变量都是在内存中的一堆二进制码,但是由于编程的需要定制了不同的规则将其分配在不同的区域