分配得来得10和20字节的区域就在堆区。 strcpy(p1,"123456");123456\0放在常量区,编译器可能会将它与p3所指向的"123456" 优化成一个地方。 } 二、堆和栈的理论知识 2.1申请方式 stack: 由系统自动分配。例如,声明在函数中一个局部变量intb;系统自动在栈中为b开辟空 间 heap: 需要程序员自己申请,并指明大小...
1.对于局部常量,存放在栈区; 2.对于全局常量,编译期⼀般不分配内存,放在符号表中以提⾼访问效率; 3.字⾯值常量,⽐如字符串,放在常量区。
全局区/静态区(static) 全局变量和静态变量的存储是放在一起的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域,该区域在程序结束后由操作系统释放; 常量区:字符串常量和其他常量的存储位置,程序结束后由操作系统释放。 程序代码区(code) 存放函数的二进制代码。
http://www.cnblogs.com/shijiaqi1066/p/6146865.html 1、栈区:由编译器自动分配释放,存放函数的参数值,局部变量的值等。 2、堆区: 一般由程序员分配并释放,若程序员不释放,程序结束时可能由操作系统回收 。 3、数据区:主要包括静态全局区和常量区。 全局区:又称为静态区。全局变量和静态变量的存储是放在一...
即不能把变量既放在静态存储区中,又放在寄存器中。总结:全局变量、静态数据、常量存放在全局数据区(即我上面所说的数据段) 12、,所有函数的代码存放在代码区,为运行函数而分配的局部变量、函数参数、返回数据、返回地址等存放在栈区。所以在同一个进程里,多个任务(线程)的全局变量和静态变量都应该是共享同一块...
-程序结束后有系统释放4、文字常量区—常量字符串就是放在这里的。程序结束后由系统释放5、程序代码区—存放函数体的二进制代码。 在全局变量和全局静态变量有什么区别: 在全局变量和全局静态变量有什么区别变量可以分为:全局变量、静态全局变量、静态局部变量和局部变量。按存储区域分,全局变量、静态全局变量和静态...
1.字面常量; 即下方100这种 2.const修饰的常变量; 我们都知道赋值语句左边必须是可修改的左值,一般地,如下图所示程序是没有问题的 但如果在int加一个const呢 很显然编译器会报错。这是因为const修饰后使变量a具有了常属性,但他本质上还是个变量,所以a叫const修饰的常变量。再来看看下面这张图 ...
主要存放局部变量(在函数内部,或复合语句内部定义的变量)。 3.静态全局区 1):未初始化的静态全局区 静态变量(定义的时候,前面加 static 修饰),或全局变量 ,没有初始化的,存在此区 2):初始化的静态全局区 全局变量、静态变量,赋过初值的,存放在此区 4.代码区 存放咱们的程序代码 5.文字常量区 存放常量的。
使用Static,局部变量就存储在全局区(静态区),便具有全局的生命期和局部的访问控制。 10、C中的常量字符串应在何时定义? 没有理解到题目的意思,我只是想说明一点,定义常量字符串后它属于const型,不能去修改它,否则程序出错。 11 、如何在两个.c文件中引用对方的变量。