C语言存储区域
Posted 小师叔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言存储区域相关的知识,希望对你有一定的参考价值。
有错误请指教
1.文字常量区域 存储在 代码段 不能被修改
2.全局变量 静态存储区 存储在 数据段
3.函数中的局部变量 存储在 栈中
4.malloc new 中的变量存储在 堆中间
测试 函数 转载 http://blog.csdn.net/u010070526/article/details/41748043
- int a = 0; //全局初始化区
- char *p1; //全局未初始化区
- int main() {
- int b; //栈
- char s[] = "abc"; //栈
- char *p2; //栈
- char *p3 = "123456"; //123456在常量区,p3在栈上。
- static int c =0;//全局(静态)初始化区
- p1 = new char[10];
- p2 = new char[20];
- //分配得来得和字节的区域就在堆区。
- strcpy(p1, "123456"); //123456放在常量区,编译器可能会将它与p3所指向的"123456"优化成一个地方。
- }
以上是关于C语言存储区域的主要内容,如果未能解决你的问题,请参考以下文章