那曲檬骨新材料有限公司

您好,歡迎來電子發燒友網! ,新用戶?[免費注冊]

您的位置:電子發燒友網>電子百科>主機配件>cpu>

寄存器變量的存儲類別

2019年06月03日 11:07 lq 作者: 用戶評論(0

寄存器cpu的一部分,是計算機中速度最快的存儲器,分為 通用寄存器、專用寄存器、段寄存器、其他寄存器,每個寄存器存儲一種類型的變量,各司其職,這樣說來,又分為累加器、源變址寄存器、基址寄存器、計數寄存器、狀態寄存器等等寄存器變量,顧名思義,就是存貯在寄存器里的變量。由于操作寄存器的速度遠高于操作內存,但寄存器的數量有限,所以把最頻繁使用的數據存儲在寄存器里,有效地提高程序運行速率。C語言定義為 register int a;

C語言的變量有4種存儲類型,分別是auto(自動型)、static(靜態型)、register(寄存器型)和extern(外部型)。在定義或說明一個變量時可以加上存儲類型關鍵字,以限定其存儲類別。

存儲類型決定了系統將在哪一個數據存儲區為變量分配存儲空間。auto型將在堆棧區分配存儲空間;static型將在靜態數據區分配存儲空間;register型將在CPU內部的寄存器中分配存儲空間;而extern將不為變量分配存儲空間,extern聲明該變量在別的地方已經分配了存儲空間。

變量存儲類型關鍵字只需加在變量定義語句類型關鍵字前面即可。

char ch1;/*定義了一個char型變量ch1,其存儲類型默認為自動型(必須是內部變量)*/

static char ch2;/*定義了一個char型變量ch2,其存儲類型指定為靜態型*/

注意:以上auto型是對內部變量而言,對于外部變量不存在自動型的問題。內部變量自動在堆棧區分配空間。事實上,內部變量默認為自動型,所以auto限定詞沒有任何用處。

變量的存儲類別

動態存儲與靜態存儲

從變量的產生時間上可以分為靜態存儲和動態存儲。

靜態存儲就是指程序運行分配固定的存儲方式,而動態存儲則是在程序運行期間根據需要動態的分配存儲空間。

auto變量

auto關鍵字就是修飾一個局部變量為自動的,每次執行到定義該變量是都會產生一個新的變量,并對其重新進行初始化。

寄存器變量的存儲類別

局部變量的默認存儲方式就是auto,定義時可以忽略

static變量

static變量為靜態變量,將函數內部和外部的變量聲明成static的意義是不一致的。

對于局部變量來說,static變量和auto變量是相對而言的。在語句塊執行期間,static變量將始終保持他的值(地址不變),并且初始化操作只在第一次執行時起作用。

寄存器變量的存儲類別

register變量

register變量稱為寄存器存儲類變量。使用register的目的是把某個局部變量存放在計算機的某個硬件寄存器而不是內存中。這樣的好處是可以提高程序的運行速度,不過這只是反映了程序員的主觀意愿,實際上編輯器可以忽略register對變量的修飾。

用戶無法獲得寄存器變量的地址,因為絕大多數計算機的硬件寄存器都不占用內存地址。而且即時編譯器忽略了register而把變量存放在可設定的內存中,也是無法獲取變量的地址的。

如果想要有效的利用寄存器register關鍵字,必須向匯編語言程序員那樣了解處理器的內部結構,知道可用于存放變量的寄存器數量,種類以及工作方式。但是,在不同的計算機對于這些細節可能是不同的,因此,對于一個要具備可移植的程序來說,register的作用并不大/

extern變量

extern變量稱為外部存儲變量.extern聲明了程序中將要用到但尚未定義的外部變量。通常,外部存儲類都用于聲明在另一個轉換單元中定義的常量。

一個工程是由多個C文件組成的。這些源代碼文件分別編譯,然后鏈接成一個可執行模塊。把這樣的一個程序作為一個工程進行管理,并且生成一個工程文件來記錄所包含的所有源代碼文件

寄存器變量的存儲類別

非常好我支持^.^

(0) 0%

不好我反對

(0) 0%

( 發表人:李倩 )

      發表評論

      用戶評論
      評價:好評中評差評

      發表評論,獲取積分! 請遵守相關規定!

      ?
      百家乐官网模拟游戏下载| 威尼斯人娱乐场开户注册| 波音百家乐自动投注| 百家乐投注开户| 百家乐路单纸下载| 在线百家乐代理| 网上百家乐官网指| 百家乐官网群lookcc| 百家乐赢的方法| 南京百家乐菜籽油| 优博百家乐现金网平台| 利都百家乐国际娱乐场| 爱婴百家乐的玩法技巧和规则| 如何打百家乐的玩法技巧和规则| 钱隆百家乐破解版| 金城百家乐买卖路| 大发888bet亚洲lm0| 久盛国际| 网上百家乐官网作弊下载| 百家乐官网剁手| 火箭百家乐官网的玩法技巧和规则| 百家乐官网正品| 百家乐自动投注| 百家乐免费改| 六合彩历史开奖记录| 百家乐官网胜率在哪| 百家乐官网智能软件| 属虎和属猴牛人做生意| 百家乐官网高手论坮| 大发888客户端下载| 网上棋牌游戏| 百家乐官网网址讯博网| 新世纪百家乐官网的玩法技巧和规则 | 澳门百家乐官网赌技术| 伯爵百家乐官网娱乐| 百家乐推二八杠| 大发888游戏交易平台| 顺昌县| 足球.百家乐官网投注网出租| 百家乐赢钱心得| 大发888真钱娱乐游戏博彩|