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

...的局部变量 全局变量 动态申请数据分别存储在什么地方?

发布网友 发布时间:2024-03-05 05:14

我来回答

4个回答

热心网友 时间:2024-08-13 04:37

程序的局部变量全局变量动态申请数据分别存储在栈里。

普通局部变量在堆栈空间上分配,当局部变量的函数被多次调用时,局部变量每次在堆栈上的位置都不相同。还可以在堆上动态分配局部变量(malloc),但是要记住在耗尽堆空间后释放zd。

内存分配上的栈空间时要注意内存的,不能分配太多的内存。如果堆栈中的空间小于请求的空间大小,则系统将显示堆栈溢出并给出相应的异常信息。但堆不同,堆可分配空间很大。

扩展资料:

注意事项:

对局部变量进行分类

1.位置:编译器将静态局部变量放在全局存储区域中。数据,因此尽管它是本地的,但它存在于程序的整个生命周期中(它在定义时产生,并随着程序的结束而结束)。

2.访问权限:静态局部变量只能由其作用域内的变量或函数访问。也就是说,尽管它将存在于程序的整个生命周期中,但是其他函数和源文件不能访问它,因为它是静态的。

3.值:如果用户没有初始化静态局部变量,编译器会自动将其赋值为0,每次调用静态局部变量时都会使用最后一次调用后的值。

热心网友 时间:2024-08-13 04:31

程序的局部变量
全局变量
动态申请数据分别存储在什么地方?
量的类别:
根据作用域可分为全局变量和局部变量。
根据生存周期可分为静态存储方式和动态存储方式,具体地又分为自动的(auto)、静态的(static)、寄存器的(register)、外部的(extern)。
静态存储方式是指在程序运行期间分配固定的存储空间的方式,动态存储方式是在程序运行期间根据需要进行动态的分配存储空间的方式。
每一个变量均有作用域和存储类别两个属性,这些属性共同用于描述一个变量,这些不同类型的变量与存储位置的关系如下:
外部变量(全局变量)、静态外部变量、静态局部变量存储在静态存储区。
自动局部变量(局部变量默认为自动局部变量)、函数形参存储在动态存储区,不论是静态存储区还是动态存储区均属于内存中的用户区。
但是,寄存器变量是存储在cpu寄存器中的而不是内存中。
首先说明一下与作用域相关的几个属性:
局部变量:在一个函数内部定义的变量是内部变量,它只在本函数范围内有效,也就是说只有在本函数内才能使用它们,在此函数以外是不能使用这些变量的,这种类型的变量就称为“局部变量”。
全局变量:在函数外定义的变量,可以为本源文件中其它函数所公用,有效范围为从定义变量的位置开始到本源文件结束,这种类型的变量就称为“全局变量”。
接下来说明一下与存储类型相关的几个属性:
atuo:在声明局部变量时,若不指定
static,默认均是
auto,这类变量都是动态分配存储空间的,数据存储在动态存储区中。
static:在声明局部变量时,使用关键字
static
将局部变量指定为“静态局部变量”,这样在函数调用结束后不消失而保留原值,即占用的存储单元不释放,在下一次函数调用时,该变量已有值就是上次函数调用结束时的值。
register:在声明动态局部变量或者函数形参时,可将变量声明为register,这样编译系统就会为变量分配一个寄存器而不是内存空间,通过这种方式可提升对某些局部变量频繁调用的程序的性能。(寄存器运算速度远高于内存)
extern:用于扩展全局变量的作用域,比如如果函数想引用一个外部变量,但该外部变量在该函数后定义,那么这个函数需要使用
extern
来声明变量,这样才能使用在该函数后面定义的全局变量。此外,extern
还可以在多文件的程序中声明外部变量。
由于变量从不同维度划分,形成了多种错综复杂的关系,在学习编程的时候需要重点关注。

热心网友 时间:2024-08-13 04:36

静态存储方式是指在程序运行期间分配固定的存储空间的方式,动态存储方式是在程序运行期间根据需要进行动态的分配存储空间的方式。
每一个变量均有作用域和存储类别两个属性,这些属性共同用于描述一个变量,这些不同类型的变量与存储位置的关系如下:
外部变量(全局变量)、静态外部变量、静态局部变量存储在静态存储区。
自动局部变量(局部变量默认为自动局部变量)、函数形参存储在动态存储区,不论是静态存储区还是动态存储区均属于内存中的用户区。
但是,寄存器变量是存储在CPU寄存器中的而不是内存中。
首先说明一下与作用域相关的几个属性:
局部变量:在一个函数内部定义的变量是内部变量,它只在本函数范围内有效,也就是说只有在本函数内才能使用它们,在此函数以外是不能使用这些变量的,这种类型的变量就称为“局部变量”。
全局变量:在函数外定义的变量,可以为本源文件中其它函数所公用,有效范围为从定义变量的位置开始到本源文件结束,这种类型的变量就称为“全局变量”。
接下来说明一下与存储类型相关的几个属性:
atuo:在声明局部变量时,若不指定
static,默认均是
auto,这类变量都是动态分配存储空间的,数据存储在动态存储区中。
static:在声明局部变量时,使用关键字
static
将局部变量指定为“静态局部变量”,这样在函数调用结束后不消失而保留原值,即占用的存储单元不释放,在下一次函数调用时,该变量已有值就是上次函数调用结束时的值。
register:在声明动态局部变量或者函数形参时,可将变量声明为register,这样编译系统就会为变量分配一个寄存器而不是内存空间,通过这种方式可提升对某些局部变量频繁调用的程序的性能。(寄存器运算速度远高于内存)
extern:用于扩展全局变量的作用域,比如如果函数想引用一个外部变量,但该外部变量在该函数后定义,那么这个函数需要使用
extern
来声明变量,这样才能使用在该函数后面定义的全局变量。此外,extern
还可以在多文件的程序中声明外部变量。
由于变量从不同维度划分,形成了多种错综复杂的关系,在学习编程的时候需要重点关注。

热心网友 时间:2024-08-13 04:38

局部变量-----栈 stack
全局变量,静态变量-----初始化的存在数据段,未初始化的存在bss段,上电后统一清0,我们一般都说存在全局静态数据区
常量----常量数据区
动态申请的---堆
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
中华新生活倍倍加重疾险(互联网)-智多星版值得推荐吗?注意哪些问题? 中华新生活倍倍加重疾险(互联网)-智多星版的优点和缺点是什么?保障内 ... 中华新生活倍倍加重疾险(互联网)-智多星版应该小心哪些陷阱? 中华新生活倍倍加重疾险(互联网)-智多星版有优点嘛? 中华新生活倍倍加重疾险(互联网)-智多星版怎么样?有什么优缺点? #儿时疑惑#真的有龙这个动物嘛? 12生肖就他现在没有哦 去俄罗斯旅游的饮食禁忌 去俄罗斯旅游怎么注意饮食 ...而正常写着3.6--6.1mmol/L,请问我是不是得了糖尿病了? ...得了糖尿病,请问对毕业有什么影响吗,再就是我可以得到保险吗(当然我... 250V2A 的美标电器,问题~~~ 我外星人17R2总是出现应用程序未响应,不管开什么都会遇到,重装系统后也... 与八有关二一之间定春秋,十二动物最实际是指十二生肖里的那个... 狼毫和兼毫区别在哪里? 飞度gd3费油怎么回事  20 在线等早上擤鼻涕 出现黄色的把纸都给染黄了 这是怎么回事? 2004年中国与俄罗斯的排球比分 据说非晶硅分为两种,一种是导电的,一种是不导电的。请相关行业的高手指... ...见过面了,她说她现在没有钱了想在本地找个工作跟住处,我该不该帮... ...员工做事不好给她说要扣钱,立刻马上就不做怎么办? 我在酒店前台做了将近三个月,经常受气,还时不时的被扣钱,想立刻离职... 啃骨头的生肖 黄喉拟水龟怎么养金黄 ...和QQ号,现在想用新的QQ号再申请一个,该怎么办? 坚持两个星期跳绳能瘦多少 ...有图,说文件已损坏且无法读取。请运行chkdsk工具。怎么办 iphone手机拉黑对方还会显示通话中吗? 移动4G卡,到手了但是没有激活。 ...得到的反馈一直停留在“对我有意”界面是什么意思? 隋朝和唐朝作为两个不同的朝代 史学家为什么合称为隋唐时期_百度... 黄山奇石讲了四个景观它们分别是 ...没两分钟就疼得嚎啕大哭,他说是额头中间的里面疼,过了十多分钟后他... KOF98中哪些大招要近身才能放?怎么放? 一年内第二次强制修改 如何一年内强制二次修改? 妈妈做的青椒土豆丝怎么做好吃又简单,做 如何一年内强制二次修改 如何一年内强制二次修改? 勒布朗詹姆斯什么时候加入骑士队的? 詹姆斯多少年进入NBA 去兴安森林公园旅行的体验怎么样? 为什么无锡现在企业交的税比上海多的多?而无锡老百姓工资平均要比上海低... 带孩子去兴安森林公园旅行,需要注意哪些事项? 为什么无锡的工资和消费水平相差那么大,还有为什么网上说无锡的老板很... 兴安森林公园有哪些适合带孩子一起游玩的景点? 兴安森林公园的自然景观有何特点? 半是蜜糖半是伤朱又一怎么突然变了 一年内第二次强制修改 怎么强制改第二次 如何强制二次修改 怪物猎人p3中,灭龙弹一次能带多少个?