黑马程序员技术交流社区

标题: 关于C语言内存分配的一个测试 [打印本页]

作者: Meracle    时间: 2015-11-16 01:35
标题: 关于C语言内存分配的一个测试
char *str1 = "1234";
char *str2 = "1234";
char str3[5] = "1234";
char str4[5] = "1234";

打印printf("%p,%p,%p,%p\n",str1,str2,str3,str4);
会发现str1和str2相等,str3和str4不相等。
因为str1和str2两个指针指向的“1234”是在代码段的同一段代码,也就是指向的内存是相同的。
而str3和str4是个数组,是在栈区由系统分配的空间,所以是不同的。
作者: cbl16888    时间: 2015-11-16 07:20
学习了,谢谢
作者: lixiang73033    时间: 2015-11-16 07:29
没错,学的很好
作者: 唐阿丽    时间: 2015-11-16 11:52
来学习学习




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2