最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C語(yǔ)言由淺入深了解變量的應(yīng)用

 更新時(shí)間:2022年05月09日 14:48:30   作者:龜π氣功  
這篇文章主要介紹了C語(yǔ)言的變量,變量是C語(yǔ)言語(yǔ)法和語(yǔ)義中一個(gè)很重要的知識(shí)點(diǎn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

1. 變量的存儲(chǔ)類別

內(nèi)存

  1. 物理內(nèi)存:實(shí)際的存儲(chǔ)設(shè)備
  2. 虛擬內(nèi)存:操作系統(tǒng)虛擬出來的內(nèi)存
  3. 操作系統(tǒng)會(huì)在物理內(nèi)存和虛擬內(nèi)存之間做映射。
  4. 在32位系統(tǒng)下,每個(gè)進(jìn)程的尋址范圍是4G, 0x00 00 00 00 ~ 0xff ff ff ff
  5. 在寫應(yīng)用程序的時(shí)候,我們看到的都是虛擬地址
  6. 在32位操作系統(tǒng)中,虛擬內(nèi)存被分為兩個(gè)部分,3G的用戶空間和1G的內(nèi)核空間,其中用戶空間是當(dāng)前進(jìn)程私有的,內(nèi)核空間是一個(gè)系統(tǒng)中所有進(jìn)程公有的。

虛擬內(nèi)存分區(qū)(運(yùn)行程序時(shí)進(jìn)行分區(qū)) 

  1. 堆:在動(dòng)態(tài)申請(qǐng)內(nèi)存的時(shí)候在堆里開辟內(nèi)存
  2. 棧:主要存放局部變量
  3. 靜態(tài)全局區(qū):(1)未初始化的靜態(tài)全局區(qū):靜態(tài)變量(定義便來嗯的時(shí)候,前面加static修飾),或全局變量,沒有初始化的,存在此區(qū)。(2)初始化的靜態(tài)全局區(qū):全局變量,靜態(tài)變量,賦值的存在此區(qū)。
  4. 代碼區(qū):存放程序代碼
  5. 文字常量區(qū):存放常量

2. 全局變量

普通的全局變量

概念:在函數(shù)外部定義的變量

#include<stdio.h>
int a = 10;  // 普通全局變量
int main(){
    printf("a的數(shù)值是%d\n",a);
    return 0;
}

作用范圍:程序的所有地方,只不過用之前需要聲明,例如 extern int a;

生命周期:一直到程序運(yùn)行結(jié)束。

注意:定義普通全局變量時(shí),如果不賦值,默認(rèn)為0

靜態(tài)全局變量

概念:定義全局變量的時(shí)候,前面加一個(gè)static修飾

作用范圍:static限定了靜態(tài)全局變量的作用范圍,只能在它定義的.c文件中有效

聲明周期:直到程序結(jié)束

注意:不賦值默認(rèn)為0

#include<stdio.h>
static int a = 10;  // 靜態(tài)全局變量,不能跨文件使用
int main(){
    printf("a的數(shù)值是%d\n",a);
    return 0;
}

3. 局部變量

普通局部變量

概念:在函數(shù)內(nèi)部定義的,或者復(fù)合語(yǔ)句中定義的變量

作用范圍:在函數(shù)中定義的變量,在函數(shù)中有效。在復(fù)合語(yǔ)句中定義的,在復(fù)合語(yǔ)句中有效

生命周期:在函數(shù)調(diào)用之前,局部變量不占用空間,調(diào)用的時(shí)候才為局部變量開辟空間,函數(shù)結(jié)束了,局部變量就釋放了。復(fù)合語(yǔ)句中也是如此。

#include<stdio.h>
void myfunc(){
    int a = 10;   // 局部變量
    printf("a的數(shù)值是%d\n",a);
    return;
}
int main(){
    myfunc();
  //  printf("a的數(shù)值是%d\n",a); 這條語(yǔ)句是錯(cuò)誤的,main不可以調(diào)用myfunc中的變量a
    return 0;
}

靜態(tài)局部變量

概念:定義局部變量的時(shí)候,前面加static修飾

作用范圍:在它定義的函數(shù)或復(fù)合語(yǔ)句中有效

生命周期:第一次調(diào)用函數(shù)的時(shí)候,開辟空間賦值,函數(shù)結(jié)束后,不釋放,以后再調(diào)用函數(shù)的時(shí)候,就不再為其開辟空間,也不賦初值,用的是以前哪個(gè)變量。

#include<stdio.h>
void myfunc(){
    static int a = 10;   // 靜態(tài)局部變量
    printf("a的數(shù)值是%d\n",a);
    return;
}
int main(){
    myfunc();
    return 0;
}

4. const不可賦值變量

const 關(guān)鍵字用來聲明不可賦值的變量

#include<stdio.h>
int main(){
    const int num;
    num = 7;  // 這條語(yǔ)句必報(bào)錯(cuò)
    printf("num是%d\n",num);
    return 0;
}

報(bào)錯(cuò)如下:

既然不可以賦值,那有什么用呢?可以在初始化的時(shí)候進(jìn)行賦值!

#include<stdio.h>
int main(){
    const int num = 8;
    printf("num是%d\n",num);
    return 0;
}

5. volatile多變的變量

volatile關(guān)鍵字用來聲明多變的變量,這種變量的內(nèi)容隨時(shí)可能被改變,而且這種改變的原因不是我們的語(yǔ)句造成的

到此這篇關(guān)于C語(yǔ)言由淺入深了解變量的應(yīng)用的文章就介紹到這了,更多相關(guān)C語(yǔ)言變量?jī)?nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Qt讀寫ini文件的方法詳解(含源碼+注釋)

    Qt讀寫ini文件的方法詳解(含源碼+注釋)

    .ini文件是Initialization?File的縮寫,即初始化文件,下面這篇文章主要給大家介紹了關(guān)于Qt讀寫ini文件(含源碼+注釋)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • C++開發(fā)之PugiXML庫(kù)基礎(chǔ)用法示例詳解

    C++開發(fā)之PugiXML庫(kù)基礎(chǔ)用法示例詳解

    PugiXML庫(kù)是一個(gè)功能強(qiáng)大、簡(jiǎn)單易用的C++ XML解析庫(kù),它提供了一組方便的函數(shù)來解析、創(chuàng)建和修改XML文檔,本文介紹了如何使用PugiXML庫(kù)來解析、創(chuàng)建和修改XML文檔,以及如何處理錯(cuò)誤和異常,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • C++中隊(duì)列queue的用法實(shí)例詳解

    C++中隊(duì)列queue的用法實(shí)例詳解

    隊(duì)列先進(jìn)先出,即只能在容器的末尾添加新元素,只能從頭部移除元素,下面這篇文章主要給大家介紹了關(guān)于C++中隊(duì)列queue用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • C++中虛表是什么意思(概念及示例)

    C++中虛表是什么意思(概念及示例)

    虛函數(shù)表,以及虛函數(shù)指針是實(shí)現(xiàn)多態(tài)性(Polymorphism)的關(guān)鍵機(jī)制,這篇文章主要介紹了C++中虛表是什么意思(概念及示例),需要的朋友可以參考下
    2024-03-03
  • C語(yǔ)言實(shí)現(xiàn)英文文本詞頻統(tǒng)計(jì)

    C語(yǔ)言實(shí)現(xiàn)英文文本詞頻統(tǒng)計(jì)

    這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)英文文本詞頻統(tǒng)計(jì),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • C/C++實(shí)現(xiàn)跨文件共享全局變量詳解

    C/C++實(shí)現(xiàn)跨文件共享全局變量詳解

    這篇文章主要為大家詳細(xì)介紹了C/C++如何實(shí)現(xiàn)跨文件共享全局變量,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • C語(yǔ)言三子棋一步步實(shí)現(xiàn)詳程

    C語(yǔ)言三子棋一步步實(shí)現(xiàn)詳程

    三子棋是一種民間傳統(tǒng)游戲,又叫九宮棋、圈圈叉叉、一條龍、井字棋等。將正方形對(duì)角線連起來,相對(duì)兩邊依次擺上三個(gè)雙方棋子,只要將自己的三個(gè)棋子走成一條線,對(duì)方就算輸了,想用c語(yǔ)言做出這個(gè)游戲,事實(shí)上也是比較簡(jiǎn)單的,下面通過c語(yǔ)言進(jìn)行對(duì)五子棋的分析
    2022-02-02
  • C語(yǔ)言中的三種循環(huán)語(yǔ)句

    C語(yǔ)言中的三種循環(huán)語(yǔ)句

    這篇文章主要介紹了C語(yǔ)言中的三種循環(huán)語(yǔ)句,在C語(yǔ)言中循環(huán)可分為3中,while循環(huán)、do - while循環(huán)、for 循環(huán)。下面小編就來為大家講解這三種循環(huán)語(yǔ)句,需要的朋友可以參考一下,希望對(duì)你有所幫助
    2021-10-10
  • C語(yǔ)言?超詳細(xì)總結(jié)講解二叉樹的概念與使用

    C語(yǔ)言?超詳細(xì)總結(jié)講解二叉樹的概念與使用

    二叉樹可以簡(jiǎn)單理解為對(duì)于一個(gè)節(jié)點(diǎn)來說,最多擁有一個(gè)上級(jí)節(jié)點(diǎn),同時(shí)最多具備左右兩個(gè)下級(jí)節(jié)點(diǎn)的數(shù)據(jù)結(jié)構(gòu)。本文將詳細(xì)介紹一下C++中二叉樹的概念和結(jié)構(gòu),需要的可以參考一下
    2022-04-04
  • C語(yǔ)言-I/O流設(shè)計(jì)實(shí)驗(yàn)

    C語(yǔ)言-I/O流設(shè)計(jì)實(shí)驗(yàn)

    編程語(yǔ)言的I/O類庫(kù)中常常使用流這個(gè)抽象的概念,它代表任何有能力產(chǎn)生數(shù)據(jù)的數(shù)據(jù)源對(duì)象或時(shí)有能力接收數(shù)據(jù)的接收端對(duì)象,本文為大家介紹C語(yǔ)言中I/O系統(tǒng)基礎(chǔ)知識(shí)
    2021-07-07

最新評(píng)論

嘉峪关市| 兴化市| 凭祥市| 社旗县| 绥阳县| 淮滨县| 永嘉县| 奉新县| 邳州市| 荣成市| 甘洛县| 拜城县| 会东县| 汽车| 时尚| 嘉禾县| 华宁县| 健康| 珠海市| 双牌县| 龙游县| 福清市| 德阳市| 贵定县| 荔浦县| 台东市| 永德县| 凉山| 略阳县| 阿克| 嵊泗县| 伊川县| 十堰市| 高淳县| 宁夏| 铜山县| 铜陵市| 洱源县| 郴州市| 乾安县| 吉木萨尔县|