- 博客(2)
- 收藏
- 关注
原创 程序的内存区域划分
按照程序分段来看,ELF可执行程序就分为3段:# size a.out1792 + 381 + 0 = 2173 (text, data, bss)data: 已经初始化的全局变量和常量字符串等bss: 没有初始化的全局变量data + bss 为全局数据区;text + data + bss 为静态存储区;堆区和栈区是程序运行时分配的堆区: 存放动态数据;栈区: 存放局部数据. 例如:c
2006-07-11 14:28:00 836
转载 char *p="1234567890";语句的问题
>> char *p="1234567890"; >> 这个语句有什么毛病吗? 这个语句是有问题的,解释如下: "1234567890"是一个字符串常量,C和C++的标准都规定:任何试图改变字符串常量的行为其结果是“未定义的”。但是上述语句的指针定义却不能阻止通过指针 p 来改变字符串常量"1234567890"的这种行为,比如:*p = a;,编译器发现不了这个错误。
2006-07-11 14:01:00 1578
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人