精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

您好,歡迎來(lái)電子發(fā)燒友網(wǎng)! ,新用戶?[免費(fèi)注冊(cè)]

您的位置:電子發(fā)燒友網(wǎng)>源碼下載>C/C++語(yǔ)言編程>

C語(yǔ)言register變量和extern及static等知識(shí)總結(jié)

大小:0.1 MB 人氣: 2017-11-21 需要積分:0

 一、register變量

  關(guān)鍵字regiter請(qǐng)求編譯器盡可能的將變量存在CPU寄存器中。有以下幾點(diǎn)注意的地方。

  register變量必須是能被CPU寄存器所接受的類型,這通常意味著register變量必須是一個(gè)單個(gè)的值,并且其長(zhǎng)度應(yīng)小于或等于整型的長(zhǎng)度。但是,有些機(jī)器的寄存器也能存放浮點(diǎn)數(shù)。

  register變量可能不存放在內(nèi)存中,所以不能用取址符運(yùn)算符“ & ”。

  只有局部變量和形參可以作為register變量,全局變量不行。

  靜態(tài)變量不能定義為register。

 二、static

  修飾變量(局部和全局變量)

  靜態(tài)全局變量:

  在全局?jǐn)?shù)據(jù)區(qū)分配內(nèi)存;未經(jīng)初始化的靜態(tài)全局變量會(huì)被程序自動(dòng)初始化為0(自動(dòng)變量的值是隨機(jī)的,除非它被顯式初始化)作用域僅限于變量被定義的文件中。

  全局變量和全局靜態(tài)變量的區(qū)別:

  (1)全局變量是不顯式用static修飾的全局變量,但全局變量 默認(rèn)是靜態(tài)的,作用域是整個(gè)工程,在一個(gè)文件內(nèi)定義的全局變量,在另一個(gè)文件中, 通過(guò)extern 全局變量名的聲明,就可以使用全局變量。

  (2)全局靜態(tài)變量是顯式用static修飾的全局變量,作用域是所在的文件,其他的文件即使用extern聲明也不能使用。

  靜態(tài)局部變量

  靜態(tài)函數(shù)

  在函數(shù)的返回類型前加上static關(guān)鍵字,函數(shù)即被定義為靜態(tài)函數(shù)。靜態(tài)函數(shù)與普通函數(shù)不同,它只能在聲明它的文件當(dāng)中可見(jiàn),不能被其它文件使用。其它文件中可以定義相同名字的函數(shù),不會(huì)發(fā)生沖突。

非常好我支持^.^

(0) 0%

不好我反對(duì)

(0) 0%

      發(fā)表評(píng)論

      用戶評(píng)論
      評(píng)價(jià):好評(píng)中評(píng)差評(píng)

      發(fā)表評(píng)論,獲取積分! 請(qǐng)遵守相關(guān)規(guī)定!

      ?