变量的存储类型(storage class)

变量的存储类型(storage class)

对于变量的存储类型,前面遇到过一些疑惑,再简单的在这里说一下。存储类型是指存储变量值的内存类型,它用来决定存储空间的大小。变量的存储类型决定着变量的存储器和作用域。有三个地方可以用于存储变量:普通内存、运行时堆栈、硬件寄存器。在这三个地方存储的变量具有不同的特性。

存储期:变量占据内存的时间期限-----与函数共存、与程序共存。

作用域:变量出现的有效区域-----函数内、本文件内、多文件内。

自动类型:auto为存储类说明符,可以说明一个变量为自动变量。在一个代码块内声明的变量,无论有没有存储类修饰符auto,都属于自动存储类。该类具有自动存储时期、代码块的作用域和空链接(no linkage)。如未初始化,它的值是不确定的。

寄存器存储:关键字register可以用于自动变量的声明,提示他们应该存储于机器的硬件寄存器而不是内存中,这类变量称为寄存器变量。通常,寄存器变量比存储于内存的变量访问起来效率更高。但是,编译器并不一定要理财register关键字,如果有太多的变量被声明为register,它只选取前几个实际存储于寄存器中,其余的就按普通自动比那辆处理。如果一个编译器自己具有一套寄存器优化方法,它可能忽略register关键字。

静态存储:对于在代码块内部声明的变量,如果给它加上关键字static,可以使他的存储类型从自动变为静态。具有静态存储类型的变量在整个程序执行过程中一直存在,而不仅仅在声明它的代码块的执行时存在。注意,修改变量的存储类型并不标示修改该变量的作用域,它任然只能在该代码块内部按名字访问。函数的形式参数不能声明

变量的缺省存储类型:这取决于它的声明位置。1、凡是在任何代码块之外声明的变量(全局变量)总是存储于静态内存中,也就是不属于堆栈的内存,这类变量成为静态变量。对于这类变量,你无法为他们制定其他存储类型。2、而在代码块内部声明的变量(局部变量)的缺省存储类型时是自动的(automatic),也就是说他存储于堆栈中,成为自动变量。有一个关键字auto就是用修饰这种存储类型的,但它极少使用。

嵌入式物联网需要学的东西真的非常多,千万不要学错了路线和内容,导致工资要不上去!

无偿分享大家一个资料包,差不多150多G。里面学习内容、面经、项目都比较新也比较全!某鱼上买估计至少要好几十。

(点击找小助理领取)扫码进群领资料icon-default.png?t=N7T8https://s.pdb2.com/pages/20230519/16QijNiGb32IFIn.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/490570.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

matlab绘图点、线条相关

各种颜色属性选项 选 项 意 义 选 项 意 义 ‘r’ 红色 ‘m’ 粉红 ‘g’ 绿色 ‘c’ 青色 32 ‘b’ 兰色 ‘w’ 白色 ‘y’ 黄色 ‘k’ 黑色 各种线型属性选项 选 项 意 义 选 项 意 义 ‘-’ 实线 ‘–’ 虚线 ‘:’ 点线 ‘-.’ 点划线 各种标记点属性选项 选 项 意 义 选 项…

centos7调节虚拟机字体_初次安装虚拟机中Ubuntu16.04系统设置的一些小问题(小白教程)...

也不知道是哪里操作有误,最开始安装成功我的界面是这个样子,之前第一次安装的时候忘记改语言,这次注意到了,直接安装的中文。看着中文实在太舒服,好像设置都变得简单了?一、切换中文输入法:系统…

用半机械器官,打开发育生物学领域的黑匣子

来源:中国生物技术网 随着自然发育中的组织一起生长的微型传感器一小群细胞是如何组织成为心脏、大脑或者肾脏等器官的?这一发育的关键时期,长期以来一直是发育生物学领域的黑匣子。部分原因是因为没有足够小且足够灵活的传感器在不损伤细胞的…

ubuntu切换root用户

ubuntu怎么切换到root用户,使用以下命令 su root 但对于一个刚安装好的Linux系统,输入密码后会提示密码错误,这是因为没有给root设置密码。 解决方法: 输入: sudo passwd root 输入密码,并确认密码。 重新输入命令&#xf…

在XML里的XSD和DTD以及standalone的使用

有关XML结构中的XSD和DTD以及standalone的使用 XmlDeclaration declare document.CreateXmlDeclaration("1.0", "utf-8", "yes"); yes为standalone的值, XML中声明中有个standalone standalone 用来表示该文件是否呼叫其它外部的文件…

matlab图像边缘检测分析

更多MATLAB图像处理视频请点击 http://study.163.com/course/courseMain.htm?courseId1003594013 所谓边缘是指其周围像素灰度有变化的那些像素的集合。边缘广泛存在于物体与背景之间、物体与物体之间、基元与基元之间。物体的边缘是由灰度不连续所反映的。基于边缘的…

python可以实现哪些功能_Python中实现机器学习功能的四种方法介绍

本篇文章给大家带来的内容是关于Python中实现机器学习功能的四种方法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 在本文中,我们将介绍从数据集中选择要素的不同方法; 并使用Scikit-learn(skl…

Nature子刊批判人工神经网络:先天结构比后天训练更重要,应该借鉴动物大脑...

来源:凹非寺人工神经网络可以从动物大脑中学到什么?最新一期Nature子刊上,就刊登了这样一篇文章。美国冷泉港实验室的神经科学家Anthony M. Zador,对当下人工神经网络的研究思路进行了深刻反思与批判:大多数动物行为不…

C++初始化vector<vector<int>>

假设dps是一个mn维的vector&#xff0c;则初始化dps为全零的方法为&#xff1a; vector<vector<int>> dps(m, vector<int>(n,0));

matlab的傅里叶变换

更多MATLAB图像处理视频请点击 http://study.163.com/course/courseMain.htm?courseId1003594013 图像变换&#xff1a; 更多MATLAB图像处理视频请点击 http://study.163.com/course/courseMain.htm?courseId1003594013 在 MATLAB 中&#xff0c;一般用二元函数…

python在另一个函数中使用其他函数的变量_在另一个函数中访问函数的变量,如function() . var in python...

我在寻找一种正确的方法来访问另一个函数中的函数变量时遇到了一些问题 . 我正在制作远程操作类工具&#xff0c;因此我需要处理接收的命令[如exit或nircmdc.exe或telnet等] . 下面的代码不完整&#xff0c;但它是核心&#xff1a; def regular(): global data datac.recv(1024…

笔记一 Redis基础

在cmd 命令中运行redis 运行redis命令 &#xff1a;redis-cli Reids数据结构初探 数据结构有五种 string(字符串)、 list(列表)、set&#xff08;集合&#xff09;、hash&#xff08;散列&#xff09;、zset(有序集合) redis各类型的简单介绍 和最基础的命令 1.string&a…

C++获取指向二维数组的首元素指针

假设一个二维数组int a[][4] { { 3, 2, 8, 9 }, { 2, 4, 9, 12 }, { 4, 7, 10, 13 }, { 6, 8, 11, 15 } };&#xff0c;获取指向其首个元素&#xff08;即3&#xff09;的指针方法为&#xff1a; int*pa[0]&a[0][0]*a; 说明&#xff1a; &#xff08;1&#xff09;二维…

matlab的四维图像数据可视化

1.颜色来表示第四维 前面已经学了三维图形可视化&#xff0c;所谓三维就是指x轴&#xff0c;y轴&#xff0c;z轴组成了我们的三维&#xff0c;那么第四维用什么来表示呢&#xff0c;我们这里要用颜色来表示第四维&#xff0c;所谓四维图形可视化就是在三维图形可视化的基础上&…

Mybatis 入门之resultMap与resultType讲解实例

resultMap&#xff1a;适合使用返回值是自定义实体类的情况 resultType&#xff1a;适合使用返回值得数据类型是非自定义的&#xff0c;即jdk的提供的类型 resultMap &#xff1a; type&#xff1a;映射实体类的数据类型 id&#xff1a;resultMap的唯一标识 column:库表的字段…

全球半导体产业60年兴衰启示录!

本文来自华泰证券&#xff0c;研究员张馨元、钱海、陈莉敏&#xff0c;感谢分享&#xff01;科技是当前行业配置不能忽视的主线&#xff0c;我们在今年 5 月 10 日发布的中期策略报告《无科技不牛市&#xff0c;以时间换空间》中提出&#xff0c;5G 时代物联网技术革命带来的是…

手机上python编程工具3和3h有区别吗_Python3.5内置模块之time与datetime模块用法实例分析...

本文实例讲述了Python3.5内置模块之time与datetime模块用法。分享给大家供大家参考&#xff0c;具体如下&#xff1a; 1、模块的分类 a、标准库&#xff08;Python自带&#xff09;&#xff1a;sys、os模块 b、开源模块&#xff08;第三方模块&#xff09; c、自定义模块 2、内…

c++ string后面会添加‘\0‘

string类后面会添加\0&#xff0c;但这个\0不算入length里面 以一个例子就能说明&#xff1a; int main() {string s "hhh";cout << (s[3] \0)<<endl;cout << s.length() << endl;return 0; } 输出&#xff1a; 1 3

在visual studio code中配置python以及解决中文乱码问题

安装好 visual stuido code &#xff08;下面简称 “ VSC ”&#xff09;后&#xff0c;要想使用它运行调试 python 代码还需要做一些工作以解决下列问题&#xff1a; 搭建 python 环境print 打印中文出现乱码一、搭建 python 环境 在 VSC 中点击 F1 键&#xff0c;弹出控制台&…

华为加码布局 VR/AR趁势启航

来源&#xff1a;VR每日必看乘5G东风&#xff0c;VR/AR空间打开。随着5G的到来&#xff0c;5G高速和超低时延的特性将完美应对VR/AR发展的短板&#xff0c;商用牌照的发放将带领5G逐渐进入放量阶段&#xff0c;内外巨头均已开始大力布局。分析人士认为&#xff1a;第一阶段场景…