码迷,mamicode.com
首页 > 其他好文 > 详细

const、static变量存放位置

时间:2014-05-23 02:11:22      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:全局变量   局部变量   存储   内存      

我们将以下面的例子介绍const变量和static变量的存放位置:

static int val_a = 1; // 初始化的静态变量

int val_b = 2;        // 全局变量

const int val_c = 3;  // const 全局变量

static int val_d;     // 未初始化的静态变量

int val_e;            // 未初始化的全局变量

int main()

{

    static int val_f = 5;  // 初始化的局部静态变量

    static int val_g;      //未初始化局部静态变量

    int    val_h = 6;      //初始化局部变量

    int    val_i;          //未初始化局部变量

    const  int val_j = 7;  //const局部变量

    return 0;

}

①static无论是全局变量还是局部变量都存储在全局/静态区域,在编译期就为其分配内存,在程序结束时释放,例如:val_a、val_d、val_h、val_i。

②const全局变量存储在只读数据段,编译期最初将其保存在符号表中,第一次使用时为其分配内存,在程序结束时释放,例如:val_c;const局部变量存储在栈中,代码块结束时释放,例如:val_j。

③全局变量存储在全局/静态区域,在编译期为其分配内存,在程序结束时释放,例如:val_b、val_e。

④局部变量存储在栈中,代码块结束时释放,例如:val_h、val_i。

注:当全局变量和静态局部变量未赋初值时,系统自动置为0。



const、static变量存放位置,布布扣,bubuko.com

const、static变量存放位置

标签:全局变量   局部变量   存储   内存      

原文地址:http://blog.csdn.net/fayery/article/details/26505771

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!