欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

C語言tips-生存期和存儲(chǔ)類型-創(chuàng)新互聯(lián)

.寫在最前

最近因?yàn)楣ぷ餍枰_始重新學(xué)c語言,越學(xué)越發(fā)現(xiàn)c語言深不可測,當(dāng)初用python輕輕松松處理的一些數(shù)據(jù),但是c語言寫起來卻異常的復(fù)雜,這個(gè)板塊就記錄一下我的c語言復(fù)習(xí)之路

在夏邑等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站制作、網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需定制,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計(jì),成都全網(wǎng)營銷推廣,外貿(mào)網(wǎng)站建設(shè),夏邑網(wǎng)站建設(shè)費(fèi)用合理。

本節(jié)tips來自小甲魚的c語言課程的演示筆記小甲魚b站視頻

1. 生存期

C語言的變量擁有兩種生存期

  • 靜態(tài)存儲(chǔ)期(static storage duration)
  • 自動(dòng)存儲(chǔ)期(automatic storage duration)
    具有文件作用域的變量屬于靜態(tài)存儲(chǔ)期,函數(shù)也屬于靜態(tài)存儲(chǔ)期。屬于靜態(tài)存儲(chǔ)期的變量在程序執(zhí)行期間將一直占據(jù)存儲(chǔ)空間,直到程序關(guān)閉才釋放。
2.存儲(chǔ)類型 auto關(guān)鍵字
  • 只能修飾局部變量, 局部變量如果沒有其它修飾符, 默認(rèn)就是auto的
  • 特點(diǎn): 隨用隨開, 用完即銷
auto int num; // 等價(jià)于 int num;
register關(guān)鍵字
  • 只能修飾局部變量, 原則上將內(nèi)存中變量提升到CPU寄存器中存儲(chǔ), 這樣訪問速度會(huì)更快
  • 但是由于CPU寄存器數(shù)量相當(dāng)有限, 通常不同平臺(tái)和編譯器在優(yōu)化階段會(huì)自動(dòng)轉(zhuǎn)換為auto
register int num;
static關(guān)鍵字
  • 對局部變量的作用

    • 延長局部變量的生命周期,從程序啟動(dòng)到程序退出,但是它并沒有改變變量的作用域

    • 定義變量的代碼在整個(gè)程序運(yùn)行期間僅僅會(huì)執(zhí)行一次

#includevoid test();
int main()
{test();
    test();
    test();

    return 0;
}
void test(){static int num = 0; // 局部變量
    num++; 
    // 如果不加static輸出 1 1 1
    // 如果添加static輸出 1 2 3
    printf("num = %i\n", num); 
}
  • 對全局變量的作用

    • 全局變量分類:

      • 內(nèi)部變量:只能在本文件中訪問的變量

      • 外部變量:可以在其他文件中訪問的變量,默認(rèn)所有全局變量都是外部變量

    • 默認(rèn)情況下多個(gè)同名的全局變量共享一塊空間, 這樣會(huì)導(dǎo)致全局變量污染問題

    • 如果想讓某個(gè)全局變量只在某個(gè)文件中使用, 并且不和其他文件中同名全局變量共享同一塊存儲(chǔ)空間, 那么就可以使用static

// A文件中的代碼
int num; // 和B文件中的num共享
void test(){printf("ds.c中的 num = %i\n", num);
}
// B文件中的代碼
#include#include "ds.h"

int num; // 和A文件中的num共享
int main()
{num = 666;
    test(); // test中輸出666
    return 0;
}
// A文件中的代碼
static int num; // 不和B文件中的num共享
void test(){printf("ds.c中的 num = %i\n", num);
}
// B文件中的代碼
#include#include "ds.h"

int num; // 不和A文件中的num共享
int main()
{num = 666;
    test(); // test中輸出0
    return 0;
}

extern關(guān)鍵字
  • 對局部變量的作用

    • extern不能用于局部變量

    • extern代表聲明一個(gè)變量, 而不是定義一個(gè)變量, 變量只有定義才會(huì)開辟存儲(chǔ)空間

    • 所以如果是局部變量, 雖然提前聲明有某個(gè)局部變量, 但是局部變量只有執(zhí)行到才會(huì)分配存儲(chǔ)空間

#includeint main()
{extern int num;
    num = 998; // 使用時(shí)并沒有存儲(chǔ)空間可用, 所以聲明了也沒用
    int num; // 這里才會(huì)開辟
    printf("num = %i\n", num);
    return 0;
}
  • 對全局變量的作用
    • 聲明一個(gè)全局變量, 代表告訴編譯器我在其它地方定義了這個(gè)變量, 你可以放心使用
#includeint main()
{extern int num; // 聲明我們有名稱叫做num變量
    num = 998; // 使用時(shí)已經(jīng)有對應(yīng)的存儲(chǔ)空間
    printf("num = %i\n", num);
    return 0;
}
int num; // 全局變量, 程序啟動(dòng)就會(huì)分配存儲(chǔ)空間
static與extern對函數(shù)的作用

內(nèi)部函數(shù):只能在本文件中訪問的函數(shù)

外部函數(shù):可以在本文件中以及其他的文件中訪問的函數(shù)

默認(rèn)情況下所有的函數(shù)都是外部函數(shù)

  • static 作用:聲明一個(gè)內(nèi)部函數(shù)
static int sum(int num1,int num2);

定義一個(gè)內(nèi)部函數(shù)

static int sum(int num1,int num2)
{return num1 + num2;
}
  • extern作用:聲明一個(gè)外部函數(shù)
extern int sum(int num1,int num2);

定義一個(gè)外部函數(shù)

extern int sum(int num1,int num2)
{return num1 + num2;
}

注意點(diǎn):

  • 由于默認(rèn)情況下所有的函數(shù)都是外部函數(shù), 所以extern一般會(huì)省略
  • 如果只有函數(shù)聲明添加了static與extern, 而定義中沒有添加static與extern, 那么無效
const關(guān)鍵字

參考const關(guān)鍵字的作用

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購,新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)站題目:C語言tips-生存期和存儲(chǔ)類型-創(chuàng)新互聯(lián)
本文路徑:http://aaarwkj.com/article34/jdose.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站排名、網(wǎng)站改版、網(wǎng)站策劃、虛擬主機(jī)、網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營
蜜桃精品人妻一区二区三区| 精品国产av一区二区麻豆| 日韩欧美一区二区黄色| 日韩中文字幕专区在线| 欧美日韩精品在线二区| 国产精品三级玖玖玖电影| 粉嫩av一男战三女高潮| 91极品气质女神长腿翘臀| 人人妻人人澡人人爽人人老司机| 免费啪啪视频一区二区| 久久精品91久久久| 一区二区三区在线观看美女视频| 欧美成人一区二区三区片| 日本午夜免费在线视频| 欧美视频在线观看香蕉| 人妻熟女一区二区视频| 国产一区二区三区午夜视频| 国产黄片一区二区在线| 国产剧情在线观看网站| 日韩不卡区免费在线观看| 国产福利在线观看网站| 中文字幕一区二区精品区| 青青草国产自拍在线视频| 日韩欧美一区二区三区在线| 免费国产中文字幕黄网站| 人妻少妇被猛烈进入久久精品| 成人黄性视频免费网看| 十八禁真人无摭挡观看| 在线观看免费国产不卡| 欧美日韩国产另类一区二区| 韩国电视剧大全免费国语观看| 亚洲av乱码一区二区三四五六七| 亚洲午夜精品美女写真| 亚洲码与欧洲码一二三| 久久午夜视频在线观看| 国产精品推荐不卡一区| 午夜精品国产日韩欧美在线| 精品偷拍污视频一区二区| 亚洲精品啪啪一区二区| 日韩精品视频在线不卡| 中文字幕日韩欧美第一页|