【C語言經(jīng)典面試題】static關(guān)鍵字的作用有哪些?
經(jīng)典面試題,有必要了解下!
1 問題描述
**如題所述,在C語言中,C語言的 **static 關(guān)鍵字的作用有哪些呢?
2 答案解析
作為一個從業(yè)多年的C程序員,我來給一個自己的參考答案;
- **修飾 **某個函數(shù)
當(dāng)static修飾某個函數(shù)時,表示這個函數(shù)是一個內(nèi)部函數(shù),它只能被當(dāng)前.C文件的其他函數(shù)調(diào)用,而本C文件外的其他函數(shù)則不可調(diào)用這個函數(shù)。
- **修飾 **全局變量
當(dāng)static修飾全局變量時,表示這個全局變量僅在當(dāng)前C文件中生效,其他的C文件中,并不可訪問該全局變量。
- **修飾 **局部變量
**當(dāng)static修飾局部變量時,表示這個局部變量位于全局區(qū),但是它僅能夠被該函數(shù)內(nèi)部訪問,函數(shù)外部則不能訪問;當(dāng)函數(shù)內(nèi)部訪問時,該局部變量具有 ** 記憶性 。
3 示例代碼
寫一段示例代碼:
?
?
#include
#include
?
static int test_func1(int a)
{
static int c = 5;
c = a;
return a + 1;
}
?
static int b;
?
int main(int argc, const char *argv[])
{
printf("test: %d\\n", test_func1(1));
return 0;
}
這段代碼,則分別演示了3種情況,可以參考一下。
4 更多分享
[架構(gòu)師李肯]
架構(gòu)師李肯 ( 全網(wǎng)同名 ),一個專注于嵌入式IoT領(lǐng)域的架構(gòu)師。有著近10年的嵌入式一線開發(fā)經(jīng)驗(yàn),深耕IoT領(lǐng)域多年,熟知IoT領(lǐng)域的業(yè)務(wù)發(fā)展,深度掌握IoT領(lǐng)域的相關(guān)技術(shù)棧,包括但不限于主流RTOS內(nèi)核的實(shí)現(xiàn)及其移植、硬件驅(qū)動移植開發(fā)、網(wǎng)絡(luò)通訊協(xié)議開發(fā)、編譯構(gòu)建原理及其實(shí)現(xiàn)、底層匯編及編譯原理、編譯優(yōu)化及代碼重構(gòu)、主流IoT云平臺的對接、嵌入式IoT系統(tǒng)的架構(gòu)設(shè)計等等。擁有多項(xiàng)IoT領(lǐng)域的發(fā)明專利,熱衷于技術(shù)分享,有多年撰寫技術(shù)博客的經(jīng)驗(yàn)積累,堅信【知識改變命運(yùn),技術(shù)改變世界】!
-
C語言
+關(guān)注
關(guān)注
180文章
7630瀏覽量
140971 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4376瀏覽量
64533 -
程序員
+關(guān)注
關(guān)注
4文章
954瀏覽量
30324 -
static
+關(guān)注
關(guān)注
0文章
34瀏覽量
10653 -
全局變量
+關(guān)注
關(guān)注
1文章
28瀏覽量
9124
發(fā)布評論請先 登錄
【硬件方向】名企面試筆試真題:大疆創(chuàng)新校園招聘筆試題
硬件工程師面試/筆試經(jīng)典 100 題

硬件工程師面試必看試題(經(jīng)典)
static在單片機(jī)中的妙用
單片機(jī)編程關(guān)鍵字之volatile
【面試題】人工智能工程師高頻面試題匯總:概率論與統(tǒng)計篇(題目+答案)

【面試題】人工智能工程師高頻面試題匯總:機(jī)器學(xué)習(xí)深化篇(題目+答案)

【面試題】人工智能工程師高頻面試題匯總:Transformer篇(題目+答案)

人工智能工程師高頻面試題匯總——機(jī)器學(xué)習(xí)篇

C語言關(guān)鍵字分別發(fā)生在哪個階段
C++新手容易犯的十個編程錯誤
使用邊緣AI和Sitara處理器進(jìn)行關(guān)鍵字檢測

評論