真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C語(yǔ)言關(guān)鍵字-創(chuàng)新互聯(lián)

C語(yǔ)言關(guān)鍵字extern和static,解決C語(yǔ)言中的幾個(gè)為什么

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于做網(wǎng)站、成都做網(wǎng)站、郊區(qū)網(wǎng)絡(luò)推廣、微信小程序開(kāi)發(fā)、郊區(qū)網(wǎng)絡(luò)營(yíng)銷、郊區(qū)企業(yè)策劃、郊區(qū)品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供郊區(qū)建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com文章目錄
    • **C語(yǔ)言關(guān)鍵字extern和static,解決C語(yǔ)言中的幾個(gè)為什么**
  • 前言
  • 一、頭文件
    • (1)C語(yǔ)言為什么要誕生頭文件
    • (2)頭文件一般放什么內(nèi)容
  • 二、extern關(guān)鍵字
  • 三、static關(guān)鍵字
  • 四、三個(gè)為什么

前言

extern 和 static在C語(yǔ)言的學(xué)習(xí)中尤為重要,所以我們有必要掌握。

一、頭文件 (1)C語(yǔ)言為什么要誕生頭文件

在學(xué)習(xí)C語(yǔ)言的時(shí)候,當(dāng)我們需要寫一個(gè)比較大的項(xiàng)目的代碼的時(shí)候,我們常常需要用到頭文件,即以.h結(jié)尾的文件配合起來(lái)寫,那為什么需要有頭文件呢?我就單單的一個(gè)test.c文件就不能寫出來(lái)大的項(xiàng)目了嗎?從理論上來(lái)講,確實(shí)可以只通過(guò)一個(gè)test.c文件寫代碼,但是單純的使用源文件,組織項(xiàng)目結(jié)構(gòu)的時(shí)候,項(xiàng)目越大越復(fù)雜的時(shí)候,維護(hù)成本就越高!頭文件的出現(xiàn)大大降低了大型項(xiàng)目的維護(hù)成本,因?yàn)槿绻阍趖est.c文件使用了某個(gè)值100遍,但是你現(xiàn)在需要修改這個(gè)值,如果沒(méi)有頭文件,你就需要把這100個(gè)值都同時(shí)改掉,但是把它放到頭文件里面,再再test.c包含頭文件,那么當(dāng)需要修改這個(gè)值的時(shí)候只需要在頭文件修改這個(gè)值就能把test.c里面的所有這個(gè)值都改掉,大大降低了維護(hù)成本。

(2)頭文件一般放什么內(nèi)容

1、C頭文件
2、所有變量的聲明
3、所有函數(shù)的聲明
4、#define , typedef , struct等等。

二、extern關(guān)鍵字

1、
聲明變量時(shí)不能設(shè)置初始值,例如extern int val=0 這種寫法是錯(cuò)誤的,因?yàn)槁暶鞯臅r(shí)候沒(méi)有開(kāi)辟空間,所以0不能賦值給val。
2、
變量的聲明必須帶上extern,因?yàn)槿绻麑懗?int val;編譯器可能把它看成是定義,而頭文件不能放定義,所以這種具有二義性的代碼,我們必須去避免。
3、
函數(shù)的聲明建議帶上extern,雖然編譯器看這個(gè)是函數(shù)的聲明還是定義是看函數(shù)體是否有內(nèi)容,但是當(dāng)你帶上extern的時(shí)候,代碼的可讀性就上來(lái)了,別人或者自己一眼就能看出這個(gè)是函數(shù)的定義。

三、static關(guān)鍵字

1、全局變量可以跨文件訪問(wèn)嗎?

可以。

2、函數(shù)可以跨文件訪問(wèn)嗎?

可以。

3、在具體的應(yīng)用場(chǎng)景當(dāng)中,有沒(méi)有可能,我們不想讓全局變量或者函數(shù)跨文件訪問(wèn),只在本文件內(nèi)部訪問(wèn)?

答案是肯定的。

(1)static修飾全局變量,該變量只在本文件內(nèi)被訪問(wèn),不能被外部其他文件直接訪問(wèn)。
(2)static修飾函數(shù), 該函數(shù)只在本文件內(nèi)被訪問(wèn),不能被外部其他文件直接訪問(wèn)。
(3)static修飾局部變量,更改局部變量的生命周期,作用域不變。

四、三個(gè)為什么

1、為什么全局變量和函數(shù)可以跨文件訪問(wèn)?

因?yàn)橛幸欢ㄒ?guī)模的項(xiàng)目,一定是多文件的,多個(gè)文件之間,后續(xù)一定要進(jìn)行數(shù)據(jù)“交互”。代碼是需要模塊化的,不可能全部代碼都放在test.c文件中的,所以如果不能跨文件,也就說(shuō)明小組寫的代碼不能通用,那交互成本就會(huì)變得很高。

2、為什么是局部變量?為什么局部變量被static修飾后變成了全局生命周期??
(1)、因?yàn)榫植孔兞渴窃跅^(qū)開(kāi)辟內(nèi)存空間的,棧是動(dòng)態(tài)變化的,所以具有臨時(shí)性。
(2)、局部變量被static修飾之后變成了全局的生命周期的根本原因是它的存儲(chǔ)位置發(fā)生了變化,由棧區(qū)到靜態(tài)數(shù)據(jù)區(qū),所以具有了全局生命周期,但是作用域還是不變的。
在這里插入圖片描述

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


當(dāng)前標(biāo)題:C語(yǔ)言關(guān)鍵字-創(chuàng)新互聯(lián)
文章起源:http://weahome.cn/article/dejesg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部