C语言变量的定义与使用 变量的存储类别决定了变量中的数据在计算机内存中的存储位置 。C语言中局部变量存放在动态存储区,全局变量或者静态变量存放在静态存储区 。下面是关于C语言变量的定义与使用,欢迎参考!
如果要为单片机控制系统编写出高质量的C语言程序,合理的定义并使用变量是非常重要的 。程序是用来处理数据的,而变量就是用来存储数据的 。每定义一个变量 , 编译器就会在系统的RAM中分配一个物理存储区域 。在单片机控制系统中 , RAM资源是非常有限的 , 作为单片机程序员,绝对不能随意的定义变量,需要精打细算合理定义 。为了实现这个目标,必须要对变量的多个特性有深刻的认识 。
变量特性:
第一、变量定义要选择恰到好处的类型 , 变量的类型直接决定了它所存储的数据取值范围,这类似于我们生活中使用的各种容器,选择合适的变量类型,不但能保证数据存储安全,还能有效的节约系统资源;
第二、变量的作用范围必须清楚,C语言最基本的功能单元是函数,在函数内部使用的变量是私有变量,只能在函数内部使用 。多个函数组成一个程序的功能模块 , 并安置在某一个C文件中,在这些函数的头部定义的变量是静态变量(局部变量),这种类型的变量模块内部的函数都可以访问 。如果在模块内部声明变量,并在该模块的头文件中导出 , 该类型变量就是全局变量,全局变量在整个工程中的所有函数都可以访问;
第三、变量占用的RAM资源,私有变量是可以释放的,静态变量与全局变量是不可以释放的 。也就是说在程序运行的整个过程中,私有变量占用资源可以供不同的函数重复利用,而静态变量与全局变量是完全被占用不能重复利用的;
第四、变量可以存放常数 , 但因为单片机RAM资源有限,强烈建议不要用变量存放常量 , 而是在资源相对丰富的FlashROM中存放常量;
第五、局部变量与全局变量对于函数来说,访问非常方便,但缺点显而易见:访问的函数越多 , 数据的安全性越低,一旦出现数据异常,很难排除问题 。所以,请尽量减少局部变量与全局变量的使用;
第六、函数的型参个数尽量减少,这样型参只会占用通用寄存器组来完成参数传递工作 。如果参数过多,编译器可能会被迫分配占用RAM资源,这样不但参数传递效率变低,同时还会导致RAM资源浪费;
明确上述变量定义与使用特点后,在编写程序的时候,一定要利用好这些特性并结合程序的特点,灵活的使用各种类型、各种作用范围的变量,使程序在最大限度上得到优化,使系统性能提升至最优的状态,才是我们嵌入式开发者的终极目标!
拓展:C语言入门学习
什么人需要学习C语言?
从51JOB的统计数据来看,选择C语言人才的企业多数以电子工程师、嵌入式工程师、硬件工程师、IOS工程师等为主 , 学历本科以上相关专业,三年以上工作经验,且外语水平要求至少四级以上 。既然C语言学习者的就业门槛那么高,为什么还有很多人执着的去学习C语言呢?总结而言,无外乎以下几点原由:
1)C语言不是面向对象语言 。
因为这一点 , 任何学习C语言的人必须学会用函数思考问题 。当你真正的去学习一门面向对象语言时,就会有C语言的函数学习基础去对比 。这会使学习面向对象编程更容易理解和更有乐趣 。
2)用C编程就像进行智力体操 。
你要顾及到每一件事情,而这在很多其他语言中他会为你处理 。你要管理指针,内存分配,和内存回收 。你要明白如何处理串,还有动态数据 。在其他语言中,所有这些对你来说是隐藏的 。你不知道他们如何运行,更不用说改变他们的运行方式了 。你得到了使用的便利,失却了对程序的控制和速度 。很多情况下,这是笔值得的买卖 。其他的情况下就不是这样了 。
推荐阅读
- erp系统如何保证成功,erp系统的步骤
- 苹果手机季节性因素是什么,苹果季节是哪几个月
- html三栏布局代码及注释,三栏布局页面
- 小米区块链下载技巧安装,小米区块链下载技巧安装不了
- php数据库记录 php数据库实例
- 如何邮件推广营销,外卖如何推广和营销
- 婚纱摄影行业网站制作,婚纱摄影行业网站制作流程
- 达芬奇postgresql和磁盘,达芬奇储存路径
- 未来主题射击的游戏叫什么,未来射击破解版下载