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编程就像进行智力体操。

  你要顾及到每一件事情,而这在很多其他语言中他会为你处理。你要管理指针,内存分配,和内存回收。你要明白如何处理串,还有动态数据。在其他语言中,所有这些对你来说是隐藏的。你不知道他们如何运行,更不用说改变他们的运行方式了。你得到了使用的便利,失却了对程序的控制和速度。很多情况下,这是笔值得的买卖。其他的情况下就不是这样了。

  3)不同情况下你会使用不同的编程语言。

  某些情况下要求使用Lisp,其他的要Java,还有别的要C++。但是C是你坚实的基础。你可能不会使用它做一些项目,但是它会帮助提高你的能力,熟练的用其他语言编程。

  4)除了汇编语言之外,C代码生成的程序比其他任何语言生成的程序来得更小和运行更快。

  那么为什么不学汇编语言呢?汇编是一门学了很有用的.语言,但是它没有C那样的可移植性,并且其他流行的语言比如JAVA的语法是基于C的,而不是汇编。你仍然应该学汇编,但它并不会证明它会像学C那样有用。

  5)如果你想要写一个视频游戏引擎或操作系统,你会需要C。

  你不能使用C#, Java, 或 Basic来完成这些编程任务。

  C语言的发展史:

  C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

  我适合学习C语言吗?

  首先我们要认清一个事实:C语言工作者只是众多从事软件开发者中的一小部分,在深圳这样一个IT企业云集的大城市,使用其它语言从事软件开发的工作者多如牛毛,薪资待遇不比从事C语言开发的人低,当编程爱好者在选择第一个编程语言时,C语言不一定是首先。我适合学习C语言吗?解决这个问题,先回答以下几个问题:

  1)你学习C语言的目的是什么?如果是想从事这方面的工作,那么请义无反顾的坚持下去,推荐你在《微机原理》、《计算机组成原理》和《计算机系统结构》三本书中选一本配合《C语言程序设计》来看,这样可以融汇贯通,让你对编程有更深入更系统化的理解。而这种理解对计算机类学科的学习来说很重要。

  2)您具备学习C语言的条件吗?由于入职C语言编程的企业对入职者的要求比较高,在没有编程工作经验前提下多数想通过自学进入类似企业的人几乎为零,包括很多计算机专业毕业的大、中专毕业生在校期间都会学到C语言,毕业出来后依然云里雾里。C语言的开发,需要在实际工作中才能快速掌握。同时,英语(从事C语言开发需要经常查阅英文资料,尤其是单片机领域)、学历、数学算法、极强的逻辑思维能力等等也是让多数人望而却步的门槛。



  • C璇█鍩虹 鏈変竴鍙ヨ瘽璇:C璇█瑕佹眰鍙橀噺蹇呴』鍏瀹氫箟,鍚浣跨敤!浠涔堝彨瀹氫箟?
    绛旓細瀹氫箟鐨勬剰鎬濆氨鏄湪浣跨敤鏌愪竴鍙橀噺涔嬪墠鍏堟竻妤氱殑鍛婅瘔璁$畻鏈鸿繖涓彉閲忔槸浠涔堢被鍨嬬殑锛岃繖鏍疯鍙橀噺灏卞叿鏈変簡杩欑绫诲瀷鐨勭壒鎬с傛暣鍨嬫寚鐨勬槸璇ュ彉閲忓彧鑳藉彇鏁存暟锛屾瘮濡0銆1銆1000銆-50绛夌瓑銆備緥锛歮ain(){ int a; //姝ゅ瀹氫箟浜嗕竴涓暣鍨嬪彉閲廰銆 char b; //姝ゅ瀹氫箟浜嗕竴涓瓧绗﹀瀷鍙橀噺b銆 printf("璇疯緭鍏...
  • C璇█涓彉閲忎笌甯搁噺鐨勬蹇垫槸浠涔?
    绛旓細瀹炲瀷甯搁噺锛4.6銆-1.23锛涘瓧绗﹀父閲忥細鈥榓鈥欍佲榖鈥欍傗憽绗﹀彿甯搁噺 鏍囪瘑绗︼細鐢ㄦ潵鏍囪瘑鍙橀噺鍚嶃佺鍙峰父閲忓悕銆佸嚱鏁板悕銆佹暟缁勫悕銆佺被鍨嬪悕銆佹枃浠跺悕鐨勬湁鏁堝瓧绗﹀簭鍒椼傜鍙峰父閲忥細鐢ㄦ爣绀虹浠h〃涓涓父閲忋傚湪C璇█涓锛屽彲浠ョ敤涓涓爣璇嗙鏉ヨ〃绀轰竴涓父閲忥紝绉颁箣涓虹鍙峰父閲忋傜鍙峰父閲忓湪浣跨敤涔嬪墠蹇呴』鍏瀹氫箟锛屽叾涓鑸舰寮忎负锛#...
  • C璇█鍑芥暟鍙橀噺瀹氫箟
    绛旓細C璇█涓彉閲閬靛惊鈥滃厛瀹氫箟鍚浣跨敤鈥濈殑鍘熷垯锛1銆佸畾涔夊彉閲忕殑鏍煎紡锛氭暟鎹被鍨 鍙橀噺鍚;棣栧厛瑕佸己璋冪殑涓鐐规槸锛鍙橀噺鐨勫畾涔鏄竴鏉¤鍙ワ紝姣忔潯璇彞閮芥槸浠ュ垎鍙风粨灏剧殑銆傛晠瀹氫箟瀹屽彉閲忥紝鍚庨潰涓嶈婕忔帀鈥滐紱鈥濆垎鍙枫傚湪鍙橀噺瀹氫箟涓紝鈥滄暟鎹被鍨嬧濊〃绀烘兂瑕佸瓨鍌ㄤ粈涔堢被鍨嬬殑鏁版嵁灏卞畾涔変粈涔堢被鍨嬬殑鍙橀噺銆傚鎯宠瀛樺偍鏁存暟灏卞畾涔夋垚 int ...
  • c璇█涓轰粈涔堣瀹鍙橀噺鍏瀹氫箟鍚浣跨敤杩欐牱鍋氭湁浠涔堝ソ澶?
    绛旓細2 涓嶅鏄撳嚭閿欍 鍙互璇嗗埆鍑哄彉閲忓悕鐨勬墜鎵撻敊璇傛瘮濡傚畾涔変簡var_name锛 鍦ㄨ皟鐢ㄧ殑鏃跺欏鏋滃啓浣滀簡var_nane, 濡傛灉娌¤瀹氳鍏堝畾涔夊悗浣跨敤锛岄偅涔坴ar_nane灏变細琚綋鍋氫竴涓柊鐨鍙橀噺浣跨敤锛屽彧鍒拌繍琛屾椂鎵嶄細鍙戠敓閿欒銆傝屾寜鐓C璇█鐨瑙勫畾锛屽湪缂栬瘧闃舵灏卞彲浠ュ彂鐜拌閿欒銆3 绋嬪簭鏇存竻鏅般 鍙橀噺瀹氫箟鏃讹紝鐩存帴鎸囨槑绫诲瀷锛岃繖鏍峰湪...
  • 鐢–璇█瀹氫箟瀛楃鍙橀噺c,杈撳叆c鐨勫,骞惰緭鍑哄畠鐨勫瓧绗﹀舰寮忓拰ASCII鐮?
    绛旓細printf("璇ュ瓧绗︾殑ASCII鐮佷负锛%d\n", c);return 0;} 鍦ㄤ笂闈㈢殑绋嬪簭涓紝鎴戜滑棣栧厛瀹氫箟浜嗕竴涓瓧绗﹀彉閲 c锛岀劧鍚浣跨敤 scanf 鍑芥暟浠庢爣鍑嗚緭鍏ヤ腑璇诲彇涓涓瓧绗︼紝骞跺皢鍏跺瓨鍌ㄥ湪 c 鍙橀噺涓傛帴鐫锛屾垜浠娇鐢 printf 鍑芥暟鍒嗗埆杈撳嚭 c 鍙橀噺鐨鍊笺佸瓧绗﹀舰寮忓拰ASCII鐮併傞渶瑕佹敞鎰忕殑鏄紝鍦 C 璇█涓锛屽瓧绗﹀彉閲忕殑绫诲瀷鏄...
  • C璇█涓,濡備綍瀹氫箟涓涓鍙橀噺,浣垮叾鏃㈠彲浠ュ湪涓诲嚱鏁颁腑浣跨敤,涔熷彲浠ュ湪瀛愬嚱鏁颁腑...
    绛旓細鎶鍙橀噺瀹氫箟鍦ㄤ富鍑芥暟涔嬪锛屽嵆鎶婂彉閲忚缃负鍏ㄥ眬鐨勩備竴鑸垜浠兘鎶鍙橀噺鐨勫畾涔鏀惧湪鍑芥暟涓紝鍥犳鍙橀噺鐨勮寖鍥村氨鏄湪鏈嚱鏁颁腑銆傚彲鏄鏋滃畾涔夊湪鎵鏈夊嚱鏁扮殑澶栭潰锛岃繖鏍锋墍鏈夌殑鍑芥暟涓紝閮藉彲浠浣跨敤鏈彉閲忋備綘鍙互璇曚竴涓嬭繖涓▼搴忋傚畾涔変竴涓叏灞鍙橀噺a锛屽湪涓诲嚱鏁颁腑杩涜璧嬪硷紝鐒跺悗鍦ㄥ瓙鍑芥暟涓繘琛岃緭鍑猴紝缁撴灉鏄5.include<stdio....
  • 鍙橀噺浣跨敤鐨娉ㄦ剰浜嬮」
    绛旓細鍦浣跨敤鍙橀噺涔嬪墠锛屽繀椤诲厛瀹氫箟瀹冿紝鍖呮嫭鎸囧畾瀹冪殑鍚嶇О鍜屾暟鎹被鍨嬨傚彉閲忕殑浣滅敤鍩熸寚鐨勬槸鍙橀噺鍦ㄧ▼搴忎腑鐨勫彲瑙佹у拰鐢熷懡鍛ㄦ湡銆傛牴鎹畾涔夌殑浣嶇疆涓嶅悓锛屽彉閲忓彲鑳藉彧鍦ㄦ煇涓嚱鏁版垨浠g爜鍧椾腑鏈夋晥锛屼篃鍙兘鍦ㄦ暣涓▼搴忎腑閮芥湁鏁堛傛槑纭鍙橀噺鐨勫畾涔夊拰浣滅敤鍩熸湁鍔╀簬閬垮厤鍦ㄤ娇鐢ㄥ彉閲忔椂鍑虹幇鏈畾涔夋垨瓒婄晫璁块棶鐨勯敊璇備緥濡傦紝鍦C璇█涓锛屽鏋...
  • 鍏充簬c璇█涓瑙勫畾鍙橀噺蹇呴』鍏瀹氫箟鍚浣跨敤鐨勯棶棰
    绛旓細2銆鍙橀噺灏辫繎瀹氫箟锛氫究浜庨槄璇汇3銆佸彉閲忓湪鍧楄鍙ョ殑寮澶村畾涔夛細鏈夌殑涓存椂鍙橀噺鏀惧湪璇彞鍧楀紑澶达紝鍙互涓嶇敤鍦ㄥ嚱鏁板紑澶村畾涔夛紝骞朵笖鍦浣跨敤瀹屾瘯鍚庨噴鏀剧┖闂达紝鍙互杩欎箞鍋氾紝浣嗕笉瑕佹棤鏁呮坊鍔犺姳鎷彿鏉ユ彁楂樹唬鐮佺殑缁撴瀯銆備竴鑸殑锛屼负浜嗚杈惧埌鏈澶х殑鍏煎璺ㄥ钩鍙版э紝杩樻槸鏀惧湪鍑芥暟寮澶村畾涔夈傚洜涓C89瑙勫畾锛屽湪浠讳綍鎵ц璇彞涔嬪墠锛屽湪鍧楃殑...
  • c璇█鍏ㄥ眬鍙橀噺鐨勫畾涔鏄粈涔?
    绛旓細渚嬪锛歩nt a, b; //鍏ㄥ眬鍙橀噺 void func1( ){ //TODO:} float x,y; //鍏ㄥ眬鍙橀噺 int func2( ){ //TODO:} int main( ){ //TODO:return 0;} a銆乥銆亁銆亂 閮芥槸鍦ㄥ嚱鏁板閮瀹氫箟鐨勫叏灞鍙橀噺銆C璇█浠g爜鏄粠鍓嶅線鍚庝緷娆℃墽琛岀殑锛岀敱浜 x銆亂 瀹氫箟鍦ㄥ嚱鏁 func1() 涔嬪悗锛屾墍浠ュ湪 func1() ...
  • C璇█涓,浠涔堟槸甯搁噺,浠涔堟槸鍙橀噺,鍐欏嚭鍙橀噺鐨勫畾涔鏍煎紡鍜岀鍙峰父閲忕殑瀹氫箟鏍...
    绛旓細define 甯搁噺鍚 甯搁噺鍊 甯搁噺鍦ㄧ▼搴忎腑鍊兼槸涓嶅彲琚敼鍙樼殑锛佸彉閲忔槸琚玦nt double float boolean绛変慨楗扮淇グ鐨勶紝鍙橀噺鐨鍊煎彲浠ュ湪琚0鏄庣殑鏃跺欒祴鍒濆硷紝涔熷彲浠ュ0鏄庝箣鍚庡湪浣跨敤涔嬪墠璧嬪笺備竴鑸牸寮忎负 淇グ绗 鍙橀噺鍚;鍙橀噺鍚=鍒濆硷紱鎴栬呮槸 淇グ绗 鍙橀噺鍚=鍒濆;...
  • 扩展阅读:c语言变量定义合法 ... c语言常量的正确表示 ... c语言变量的使用方法 ... c语言中如何定义变量 ... c语言常量合法规则 ... c语言变量怎么输入 ... c语言符号大全表解释 ... c语言如何定义n个变量 ... c语言定义变量的正确方式 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网