c语言里的static和auto是什么意思?

在C语言中,static和auto是两个关键词,它们分别表示静态和自动的意思。

  1. static:这个关键词用于修饰变量或函数。当它修饰变量时,表示这个变量是静态的,也就是说,这个变量的生命周期被延长至程序运行期间,而不是只在函数执行期间存在。当它修饰函数时,表示这个函数是静态的,也就是说,这个函数只在本源文件内有效,不能被其他源文件调用。

  2. auto:这个关键词用于修饰变量。当它修饰变量时,表示这个变量是自动的,也就是说,这个变量的存储空间在函数执行期间由编译器自动分配和释放。如果没有使用auto关键词,则需要显式地声明变量的存储空间。

需要注意的是,在C语言中,变量的默认存储类型就是auto,因此一般情况下不需要使用auto关键词来修饰变量。而static关键词则可以根据需要灵活使用,以实现程序的各种功能。

♡♡ 有帮助到的话,麻烦采纳哦!♡♡



C语言标准里面,auto变量的初始值没有做要求,一般是随机的,它分到那块内存原来是什么,还是什么。

static变量是静态变量,如果定义时未对其赋初值,编译时系统对数值型static变量赋值为0,对字符型变量赋值空。

static的三条重要作用:

(1)最主要功能是隐藏。

(2)因为static变量存放在静态存储区,第二个作用是保持变量内容的持久。

(3)默认初始化为0。在静态数据区,内存中所有的字节默认值都是0x00。



扩展资料

全局变量的存在主要有以下一些原因:

1、使用全局变量会占用更多的内存(因为其生命期长),不过在计算机配置很高的今天,这个不应该算什么问题,除非使用的是巨大对象的全局变量,能避免就一定要避免。

2、使用全局变量程序运行时速度更快一些(因为内存不需要再分配),同样也快不了多少。

3、对于局部变量的名字空间污染,这个在不使用太多变量时是可以避免的。

4、当全局变量与局部变量重名的时候,起作用的是局部变量,全局变量被屏蔽掉。

5、还可以用extern在函数外对全局变量声明,使全局变量的作用域从声明处到文件的结束。

6、全局变量的优先度低于局部变量。

总之,全局变量可以使用,但是全局变量使用时应注意的是尽可能使其名字易于理解,而且不能太短,避免名字空间的污染;避免使用巨大对象的全局变量。



  • 鍦C璇█涓,鍙湁鍦ㄤ娇鐢ㄦ椂鎵嶅崰鐢ㄥ唴瀛樺崟鍏冪殑鍙橀噺,鍏跺瓨鍌ㄧ被鍨嬫槸( )銆俖鐧惧害...
    绛旓細銆愮瓟妗堛戯細A 鏈鐨勮冩煡鐐规槸鍙橀噺鐨勫瓨鍌ㄧ被鍨嬨俥xtern銆乺egister銆static銆乤uto鍒嗗埆鏄畾涔夎嚜鍔ㄥ彉閲忋佸瘎瀛樺櫒鍙橀噺銆侀潤鎬佸彉閲忋佸閮ㄥ彉閲忥紝鍏朵腑锛岃嚜鍔ㄥ彉閲忓拰瀵勫瓨鍣ㄥ彉閲忓睘浜庡姩鎬佸瓨鍌紝璋冪敤鏃朵复鏃跺垎閰嶅崟鍏冿紱鑰岄潤鎬佸彉閲忓拰澶栭儴鍙橀噺灞炰簬闈欐佸瓨鍌紝鍦ㄦ暣涓▼搴忚繍琛屾椂闂撮兘瀛樺湪銆
  • 姹借溅aut鏄粈涔堟剰鎬濆晩?
    绛旓細4銆佷粎鍦ㄨ鍙ュ潡鍐呴儴浣跨敤锛屽垵濮嬪寲鍙负浠讳綍琛ㄨ揪寮忥紝鍏剁壒鐐规槸褰撴墽琛屾祦绋嬭繘鍏ヨ璇彞鍧楃殑鏃跺欏垵濮嬪寲鍙负浠讳綍琛ㄨ揪寮C璇█涓鎻愪緵浜嗗瓨鍌ㄨ鏄庣autoregisterexternstatic璇存槑鐨勫洓绉嶅瓨鍌ㄧ被鍒洓绉嶅瓨鍌ㄧ被鍒鏄庣鏈変袱绉嶅瓨鍌ㄦ湡鑷姩瀛樺偍锛涗腑鏂囨剰鎬濇槸鎸囨苯杞uto鏄竴绉嶄氦閫氬伐鍏凤紝鐢ㄥ唴鐕冩満鍋氬彂鍔ㄦ満锛屼富瑕佸湪鍏矾涓婃垨椹矾涓婅椹讹紝閫氬父...
  • 璁惧嚱鏁涓鏈夋暣鍨嬪彉閲弉,涓轰繚璇佸叾鍦ㄦ湭璧嬪垵鍊鐨鎯呭喌涓嬪垵鍊间负0,搴旈夋嫨鐨...
    绛旓細銆愮瓟妗堛戯細C C銆傘愯В鏋愩戝湪C璇█涓紝鏈祴鍒濆肩殑闈欐佸眬閮ㄥ彉閲忥紝缂栬瘧绋嬪簭鑷姩缁欏畠璧嬪垵鍊0銆傛墍浠ラ夋嫨C銆
  • 鐢佃剳涓轰粈涔堜細鐢变簬鎵句笉鍒aut still鏃犳硶缁х画鎵ц浠g爜鍛
    绛旓細3銆侀夋嫨涔嬪悗锛屾妸鐩稿叧鐨勫帇缂╁寘涓嬭浇鍒扮數鑴戜笂銆4銆佽В鍘嬪帇缂╁寘锛屽氨浼氱湅鈥淢SVCR120.dll鈥濈殑鏂囦欢銆5銆佸皢杩欎釜鏂囦欢澶嶅埗锛屾墦寮System32锛岀偣鍑荤矘璐达紝鐒跺悗鎸夌収鎻愮ず杩涜銆6銆佹渶鍚庡綋浣犳墦寮鍘熸潵娌℃湁鎵撳紑鐨勭▼搴忔椂锛屽氨鍙互姝e父鎵撳紑浜嗐侰++鏄C璇█鐨缁ф壙锛屽畠鏃㈠彲浠ヨ繘琛孋璇█鐨勮繃绋嬪寲绋嬪簭璁捐锛屽張鍙互杩涜浠ユ娊璞℃暟鎹被鍨嬩负...
  • 濡備綍鍒╃敤c璇█鍒嗘瀽缃戦〉?
    绛旓細1鍦"寮濮"鑿滃崟涓鎵撳紑"杩愯"绐楀彛,鍦ㄥ叾涓緭鍏"regsvr32 actxprxy.dll",鐒跺悗"纭畾",鎺ョ潃浼氬嚭鐜颁竴涓俊鎭璇 妗"DllRegisterServer in actxprxy.dll succeeded",鍐嶆鐐瑰嚮"纭畾"銆 2 鍐嶆鎵撳紑"杩愯"绐楀彛,杈撳叆"regsvr32 shdocvw.dll 3 鍐嶆鎵撳紑"杩愯"绐楀彛,杈撳叆"regsvr32 oleaut32.dll 4 鍐嶆鎵撳紑"杩愯"绐楀彛,杈撳叆"...
  • 扩展阅读:public static void main ... c语言static有什么用 ... static int的值会变吗 ... c语言中static解释 ... c语言static的用法 ... c语言static是常量吗 ... c语言static经典例子 ... c语言static和extern ... static int是什么意思 ...

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