阐述根据存储位置不同,变量的分类

来源:互联网 发布:duet windows 编辑:程序博客网 时间:2024/06/06 03:03

1. C语言变量主要分为全局变量、静态全局变量、局部变量、静态局部变量和寄存器变量。其中静态变量用static关键字进行修饰。程序所占用的内存可以分为以下几个部分:

(1)代码段-存放程序代码,只读的,不能修改。

(2)全局区(静态区),又称为数据段。其中.data段存放的是已经初始化的全局变量和静态变量(静态全局变量和静态局部变量)。.bss段存放的是未初始化的全局变量和静态变量(静态全局变量和静态局部变量)。bss段会将未初始化的变量填充为0.

(3) 堆: 是一种线性结构,类似链表实现,也可由其它方法实现。malloc, realloc函数一般从堆上分配内存。注意:和数据结构中的堆不同。

(4) 栈: 后进先出结构。主要存储的是局部变量,函数形参,以及函数地址。

(5)常量区:存储字符串常量。

0 0
原创粉丝点击