国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

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

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

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

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

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

靜態(tài)存儲方式是指在程序運(yùn)行期間分配固定的存儲空間的方式,動態(tài)存儲方式是在程序運(yùn)行期間根據(jù)需要進(jìn)行動態(tài)的分配存儲空間的方式。

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

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

5、與存儲類型相關(guān)的幾個(gè)屬性:
  1. atuo:在聲明局部變量時(shí),若不指定 static,默認(rèn)均是 auto,這類變量都是動態(tài)分配存儲空間的,數(shù)據(jù)存儲在動態(tài)存儲區(qū)中。
  2. static:在聲明局部變量時(shí),使用關(guān)鍵字 static 將局部變量指定為“靜態(tài)局部變量”,這樣在函數(shù)調(diào)用結(jié)束后不消失而保留原值,即占用的存儲單元不釋放,在下一次函數(shù)調(diào)用時(shí),該變量已有值就是上次函數(shù)調(diào)用結(jié)束時(shí)的值。
  3. register:在聲明動態(tài)局部變量或者函數(shù)形參時(shí),可將變量聲明為register,這樣編譯系統(tǒng)就會為變量分配一個(gè)寄存器而不是內(nèi)存空間,通過這種方式可提升對某些局部變量頻繁調(diào)用的程序的性能。(寄存器運(yùn)算速度遠(yuǎn)高于內(nèi)存)
  4. extern:用于擴(kuò)展全局變量的作用域。
    ①比如如果函數(shù)想引用一個(gè)外部變量,但該外部變量在該函數(shù)后定義,那么這個(gè)函數(shù)需要使用 extern 來聲明變量,這樣才能使用在該函數(shù)后面定義的全局變量。
    ②此外,extern 還可以在多文件的程序中聲明外部變量。 
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 青冈县| 大城县| 格尔木市| 建昌县| 东方市| 荣昌县| 修水县| 汉川市| 华阴市| 日喀则市| 莱西市| 新津县| 黔西县| 久治县| 且末县| 辉南县| 襄樊市| 满城县| 定结县| 舟山市| 峨山| 利辛县| 旺苍县| 石景山区| 香格里拉县| 新邵县| 五指山市| 年辖:市辖区| 新乡市| 九江县| 五原县| 锡林郭勒盟| 弥渡县| 乌什县| 巴东县| 博白县| 扎赉特旗| 宝兴县| 崇州市| 兰考县| 黄龙县|