1栈-有编译器自动分配释放2堆-一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收3全局区(静态区),全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域,未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。-程序结束释放4另外还有一个专门放常量的地方。-程序...
分类:
其他好文 时间:
2014-06-18 15:20:36
阅读次数:
208
static关键字用于不同上下文环境时,具有不同的意义。
(一)
当它用于函数定义时,或用于代码块之外的变量声明时,static关键字用于修改标示符的链接属性,从externl改为internal。但标示符的存储类型和作用域不受影响。这种方式声明的函数或变量只能用于声明它们的源文件中。
(二)
当它用于代码块内部的变量声明时,static关键字用于修改变量的存储类型,从自动变量修改为静态变...
分类:
编程语言 时间:
2014-06-15 16:59:16
阅读次数:
211
大家都知道c语言变量的存储是从小到大增加。address c :FF39address n
:FF3A并没有改变c和n的地址。address c :FF39address n
:FF3A但是c的值被改变了,c的值变成了-127.上述实验表明了变量的强制转换并不会对变量的存放地址产生影响,只会对变量的...
分类:
其他好文 时间:
2014-06-06 14:10:43
阅读次数:
166
一、在C语言中,关键字static的作用:(1)设置变量的存储域,函数体内static变量的作用范围为该函数体,不同于auto变量,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;(2)限制变量的作用域,在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问...
分类:
其他好文 时间:
2014-05-28 04:10:37
阅读次数:
197
本文档分析了一下UBoot中环境变量是如何管理的,比如什么时候从Flash中读取环境变量到内存中,以及当执行setenv、getenv、saveenv以及printenv后,Uboot做了些什么,同时还介绍了UBoot环境变量的存储格式。作者:彭东林邮箱:pengdonglin137@163.com...
分类:
其他好文 时间:
2014-05-27 00:12:40
阅读次数:
298
一、内存基本构成
可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同。
静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量。
栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创...
分类:
其他好文 时间:
2014-05-26 07:53:33
阅读次数:
308
1.内存分配方式
内存分配方式有三种:
[1]从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。
[2]在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限。
[3]从堆上分配,亦...
分类:
其他好文 时间:
2014-05-12 23:57:25
阅读次数:
508
1.
存分配的三个方法:(1)从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。(2)在栈上创建。在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中...
分类:
其他好文 时间:
2014-05-09 16:33:10
阅读次数:
430
一、概述1、定义类型typedef enum{ Monday, Tuesday}
DAY;2、使用DAY day = Monday;3、疑问 在定义和使用枚举类型的时候,我们并不知道枚举变量的存储空间是多大?现在开始做测试。二、Visual
C++ 6.0下测试#include typ...
分类:
其他好文 时间:
2014-05-09 10:08:35
阅读次数:
305
一本C语言才看了一半,太慢了 ,自己逼迫自己学习真是一件痛苦的事情。...
分类:
其他好文 时间:
2014-05-03 21:42:03
阅读次数:
350