当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 讲师博文 > 变量的存储类型

变量的存储类型 时间:2018-09-27      来源:未知

变量的存储类型有4种,分别是static、external、register、auto,对于每一种存储类型,他们都有相应的使用方式和特点,下面就分别对这四种存储类型介绍一下:

1.static静态型(可以修饰局部变量、全局变量、函数)

a.存放在静态区,静态区的数据未初始化时,由系统给该变量赋初值,初始值为0

b.限定作用域(修饰局部变量限制在局部范围;修饰全局变量限制在整个文件)

c.修饰的变量只会被初始化一次,且每次使用的变量都是上一次运算后的值 d.声明周期为从程序开始运行到结束为止

举例:

#include

void fun();

int main(int argc, const char *argv[])

{

fun(); //a = 0

fun(); //a = 1

fun(); //a = 2

return 0;

}

void fun()

{

static int a;

printf("a:%d\n", a);

a++;

}

2.extern:外部引用型,

a.可以声明一个外部变量(不在本文件中)

b.声明的外部变量必须和使用外部变量的文件处于同一目录下,并一起编译

举例:

extern.c:

#include

extern int a;

extern int b;

nt main(int argc, const char *argv[])

{

printf("a:%d b:%d\n", a, b);

return 0;

}

Test.c

int a = 4;

int b = 3;

3. auto:自动型变量:

a.存放在栈区,栈区数据在未初始化的情况下为随机值;

b.随着作用域的结束,栈会回收变量的存储空间;

c.auto只能修饰局部变量

4. register:寄存器变量

a.声明的变量是放在寄存器中的,但是寄存器数量有限,不容易申请到空间

b.如果申请不到就使用一般内存,同auto

这里简单的把这四种变量的存储类型介绍一下,主要是因为这几个在笔试面试中会经常考到的,所以整理下来供大家去参考。

上一篇:container_of分析

下一篇:Linux下安装TFTP服务的具体操作

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部