问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言中 自动变量 静态变量 寄存器变量 外部变量 有可比性吗?区别在哪?简单易懂点吧~

发布网友 发布时间:2022-05-06 19:56

我来回答

1个回答

热心网友 时间:2023-09-14 09:27

c语言中变量分为四类,分别是
1.auto 自动变量
2.static 静态存贮分配变量(又分为内部静态和外部静态)
3.extern 外部变量/全程变量(用于外部变量说明)
4.register 寄存器变量(分配在硬件寄存器中)
四大类,所有变量必须先说明(定义),后使用。

下面分别介绍
1.自动变量(局部变量)
局部变量:在一个函数开头或段开头处说明的变量,
它有几个特征,,
a、作用域为定义它的函数
b、编译器不会对自动变量给予隐含的初值,故其值不确定,因此每次使用前必须明确的置初值。
c、形参是自动变量,作用域仅限于相应函数内
d、自动变量随函数的引用而存在和消失,由一次调用到下一次调用之间不保持值。
2.外部变量:在函数外部定义的变量即为外部变量,它的作用域是整个程序(全程变量)。
a. c程序可以分别放在几个文件上,每个文件可以作为一个编译单位分别进行编译。外部变量只需在某个文件上定义一次,其它文件若要引用此变量时,应用extern加以说明(外部变量定义时不必加extern关键字)。

b. 在同一文件中,若前面的函数要引用后面定义的外部(在函数之外)变量时,在函数里加extern加以说明。
引进外部变量的原因:解决函数单独编译的协调;与变量初始化有关;外部变量的值是永久的;解决数据共享;
注意:函数本身也被认为是外部变量
3.静态变量:分为内部静态变量和外部静态变量
内部静态变量:a.在局部变量前加上static就为内部静态变量
b.静态局部变量仍是局部变量,其作用域仍在定义它的函数范围内,但它采用静态存贮分配(由编译程序在编译时分配,而一般的自动变量和函数形参均采用动态存贮分配,即在运行时分配空间),当函数执行完,返回调用点时,该变量并不撤销,再次调用时,其值将继续存在。
外部静态变量:a.在函数外部定义的变量前加static即为外部静态变量
b.作用域为定义它的文件,即成为该文件的私有变量,其他文件上的函数一律不得直接访问,除非通过它所在文件上的函数进行操作,这可实现数据隐 藏。
4.寄存器变量:只有自动(局部)变量和函数参数才能进一步指定为寄存器存贮类
a.使用register变量可以提高存取速度,但寄存器变量的数目依赖于具体机器,声明多了也只有前几个有效。
b.只限于int,char,short ,unsigned和指针类型用寄存类。
c.不能对register变量取地址(即&操作)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
淘宝买家差评删除流程是什么?具体步骤介绍 神拳李青多少钱 《英雄联盟》盲僧新皮肤睁眼介绍_《英雄联盟》盲僧新皮肤睁眼是什么_百 ... 至高之拳李青高清壁纸至高之拳李青 盲僧金虾皮肤致敬哥哥张国荣 新版皮肤爱的初体验 英雄联盟盲僧神龙尊者皮肤一览 QQ输入法手机版如何进入输入法设置菜单 福来者福往爱出者爱返是什么意思 电脑开机后鼠标自动移动 速度还非常快 为什么总有一大堆验证码发到我手机上。 说明全局变量,局部变量,静态变量,自动型变量的含义和区别 什么浏览器最好用?并且较多人用? 质数是奇数吗? 质数的含义? 在C语言中,局部变量的存储类别自动默认为( ) 质数和合数都是正数对吗? 质数又称素数,一定是正整数(除了1)吗? C语言中的自动变量和寄存器变量是什莫? 质数必须是整数吗 质数和合数是不是都是正整数 质数一定是整数吗?可以是小数吗? 函授和电大有什么区别?谁的认可度大?哪个有脱产班? 编程里,自动变量和寄存器变量是怎么回事? C语言 局部变量和自动变量的区别是什么?请简单举例子说明一下 谢谢 C语言中自动变量是什么变量?它是动态变量的意思吗?怎么理解? 自动变量属于局部变量么 电大全名是什么?函授学历是不是国家承认的 用SIMCA13怎么做OPLS-DA图 哪位大神有SIMCA-P软件啊,做偏最小二乘法分析 2022年高考中,英语是不是主科?满分是不是150分 自然数包括质数 合数 1和 0么?还是 实数?质数合数可以为负数么?必须是整数么? 请用自己的话解释全局变量与局部变量的区别,静态变量与自动变量的区别... 什么是有理数?质数?实数?自然数?整数? 什么是素数和质数? 你好。请问-13是质数吗?是整数吗? 质数 合数都是正整数吗 自动变量属于局部变量吗? 判断题? 请说明理由。 质数都是奇数么 小孩两岁了、在家很胆大但是在外面却很胆小我该怎样培养他 孩子在家很凶但是去了外面有点胆小懦弱,怎么办 在超市看见的许多冻鱼外面都是一层均匀的冰,且独自分开,这是怎么做到的? 超市的冻鱼会不会有大量细菌,因为冰箱里的食物说什么细菌多…… 孩子在外面胆小怕事,在家里又凶爸妈怎么办? 宝宝现在2岁半,最近不喜欢出门,有点怕人,怎么办 血糖高能吃水煮花生米吗? 为什么有的小孩在家胆子大,在外面就很胆小? 血糖高能吃熟花生吗 高血糖人可以吃花生吗 两岁半孩子胆小害怕陌生人和陌生环境怎么办? 孩子在外面胆小内向怎么办