a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 編程 > C++ > 正文

C++變量簡介、什么是變量

2020-05-23 14:28:55
字體:
來源:轉載
供稿:網友
1、什么是變量?
電腦具有存儲的功能。我們可以通過Word打開一個保存的文章,也可以通過FPE(整人專家,一款游戲修改軟件)來查看或鎖定內存中保存的游戲人物的生命值。那么,一個程序是如何把數據存到電腦里,又是如何把電腦里的數據取出來的呢?

在設計程序的時候,我們把要存儲的數據放在一個叫變量(Variable)的東西里。它就好像是一個箱子,而數據就是箱子里的物品。當然,在我們放東西和取東西之前必須要創建這么一個箱子,這條創建變量的語句又稱為變量的聲明(Declaration)。它的語句格式為:
[,變量名變量數據類型 變量名12,……變量名n];

2、變量的分類
  1. 根據作用域:可分為全局變量和局部變量。
  2. 根據生存周期:可分為靜態存儲方式和動態存儲方式,具體地又分為自動的(auto)、靜態的(static)、寄存器的(register)、外部的(extern)。

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

3、變量的作用域和存儲類別的關系
每一個變量均有作用域和存儲類別兩個屬性,這些屬性共同用于描述一個變量,這些不同類型的變量與存儲位置的關系如下:
  1. 外部變量(全局變量)、靜態外部變量、靜態局部變量存儲在靜態存儲區。
  2. 自動局部變量(局部變量默認為自動局部變量)、函數形參存儲在動態存儲區(即棧區)。
  3. 不論是靜態存儲區還是動態存儲區均屬于內存中的用戶區。
  4. 而寄存器變量是存儲在CPU寄存器中的而不是內存中。

4、與作用域相關的幾個屬性:
  1. 局部變量:在一個函數內部定義的變量是內部變量,它只在本函數范圍內有效,也就是說只有在本函數內才能使用它們,在此函數以外是不能使用這些變量的,這種類型的變量就稱為“局部變量”。
  2. 全局變量:在函數外定義的變量,可以為本源文件中其它函數所公用,有效范圍為從定義變量的位置開始到本源文件結束,這種類型的變量就稱為“全局變量”。

5、與存儲類型相關的幾個屬性:
  1. atuo:在聲明局部變量時,若不指定 static,默認均是 auto,這類變量都是動態分配存儲空間的,數據存儲在動態存儲區中。
  2. static:在聲明局部變量時,使用關鍵字 static 將局部變量指定為“靜態局部變量”,這樣在函數調用結束后不消失而保留原值,即占用的存儲單元不釋放,在下一次函數調用時,該變量已有值就是上次函數調用結束時的值。
  3. register:在聲明動態局部變量或者函數形參時,可將變量聲明為register,這樣編譯系統就會為變量分配一個寄存器而不是內存空間,通過這種方式可提升對某些局部變量頻繁調用的程序的性能。(寄存器運算速度遠高于內存)
  4. extern:用于擴展全局變量的作用域。
    ①比如如果函數想引用一個外部變量,但該外部變量在該函數后定義,那么這個函數需要使用 extern 來聲明變量,這樣才能使用在該函數后面定義的全局變量。
    ②此外,extern 還可以在多文件的程序中聲明外部變量。 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 久久久婷| 九色在线视频 | 久久首页 | 欧美jizz18性欧美| 国产成人精品在线 | 天堂影院一区二区 | 国产www | 国产精品中文字幕在线 | 七七婷婷婷婷精品国产 | 亚洲一区二区三区四区五区中文 | 国产视频二 | 亚洲国产成人在线 | 欧美日本韩国一区二区三区 | 国产一区免费视频 | 综合一区二区三区 | 四虎在线播放 | 欧美人体一区二区三区 | 国产伊人99| 欧美一区2区三区4区公司二百 | 91.com在线观看| 国产一区二区三区精品久久久 | av影院在线 | 欧美日韩成人激情 | 色站综合 | 欧美一二三四成人免费视频 | 久久精品久久久久电影 | 亚洲国产精品一区二区三区 | 色爱区综合 | av在线一区二区三区 | 精品91久久久| 国产精品久久久久久吹潮 | 中文在线一区二区 | 日日网 | 国产高清在线精品一区二区三区 | 久久91视频 | 超碰五月| 亚洲精品无 | 国产黄色一级片 | 国产精品综合 | 高清xxxx| 亚洲精品乱码视频 |