【C語言經(jīng)典面試題】static關鍵字的作用有哪些?
經(jīng)典面試題,有必要了解下!
1 問題描述
**如題所述,在C語言中,C語言的 **static 關鍵字的作用有哪些呢?
2 答案解析
作為一個從業(yè)多年的C程序員,我來給一個自己的參考答案;
- **修飾 **某個函數(shù)
當static修飾某個函數(shù)時,表示這個函數(shù)是一個內(nèi)部函數(shù),它只能被當前.C文件的其他函數(shù)調用,而本C文件外的其他函數(shù)則不可調用這個函數(shù)。
- **修飾 **全局變量
當static修飾全局變量時,表示這個全局變量僅在當前C文件中生效,其他的C文件中,并不可訪問該全局變量。
- **修飾 **局部變量
**當static修飾局部變量時,表示這個局部變量位于全局區(qū),但是它僅能夠被該函數(shù)內(nèi)部訪問,函數(shù)外部則不能訪問;當函數(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 更多分享
[架構師李肯]
架構師李肯 ( 全網(wǎng)同名 ),一個專注于嵌入式IoT領域的架構師。有著近10年的嵌入式一線開發(fā)經(jīng)驗,深耕IoT領域多年,熟知IoT領域的業(yè)務發(fā)展,深度掌握IoT領域的相關技術棧,包括但不限于主流RTOS內(nèi)核的實現(xiàn)及其移植、硬件驅動移植開發(fā)、網(wǎng)絡通訊協(xié)議開發(fā)、編譯構建原理及其實現(xiàn)、底層匯編及編譯原理、編譯優(yōu)化及代碼重構、主流IoT云平臺的對接、嵌入式IoT系統(tǒng)的架構設計等等。擁有多項IoT領域的發(fā)明專利,熱衷于技術分享,有多年撰寫技術博客的經(jīng)驗積累,堅信【知識改變命運,技術改變世界】!
-
C語言
+關注
關注
180文章
7614瀏覽量
137713 -
函數(shù)
+關注
關注
3文章
4346瀏覽量
62971 -
程序員
+關注
關注
4文章
953瀏覽量
29856 -
static
+關注
關注
0文章
33瀏覽量
10407 -
全局變量
+關注
關注
1文章
28瀏覽量
9003
發(fā)布評論請先 登錄
相關推薦
【面試題】人工智能工程師高頻面試題匯總:概率論與統(tǒng)計篇(題目+答案)
![【<b class='flag-5'>面試題</b>】人工智能工程師高頻<b class='flag-5'>面試題</b>匯總:概率論與統(tǒng)計篇(題目+答案)](https://file1.elecfans.com/web3/M00/06/E0/wKgZO2eQWPWAHFlQAAAmDzER-TY270.png)
C語言筆試題
【面試題】人工智能工程師高頻面試題匯總:機器學習深化篇(題目+答案)
![【<b class='flag-5'>面試題</b>】人工智能工程師高頻<b class='flag-5'>面試題</b>匯總:機器學習深化篇(題目+答案)](https://file1.elecfans.com/web3/M00/02/6E/wKgZPGdfvdCAVXXcAAApnpClxuY394.png)
【面試題】人工智能工程師高頻面試題匯總:Transformer篇(題目+答案)
![【<b class='flag-5'>面試題</b>】人工智能工程師高頻<b class='flag-5'>面試題</b>匯總:Transformer篇(題目+答案)](https://file1.elecfans.com/web3/M00/02/3B/wKgZO2db3P6AcueVAAA_s2wckVo790.png)
人工智能工程師高頻面試題匯總——機器學習篇
![人工智能工程師高頻<b class='flag-5'>面試題</b>匯總——機器學習篇](https://file1.elecfans.com/web3/M00/01/10/wKgZO2dQGfCAa4fBAABvNSbOFYo347.png)
C語言關鍵字分別發(fā)生在哪個階段
C++新手容易犯的十個編程錯誤
使用邊緣AI和Sitara處理器進行關鍵字檢測
![使用邊緣AI和Sitara處理器進行<b class='flag-5'>關鍵字</b>檢測](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
typedef struct和直接struct的區(qū)別
inline關鍵字被優(yōu)化導致此類函數(shù)被布局在flash內(nèi),怎么處理?
C語言中的typedef的應用
![<b class='flag-5'>C</b><b class='flag-5'>語言</b>中的typedef的應用](https://file1.elecfans.com/web2/M00/C3/B9/wKgaomXn5LGAbFesAAAe4pvOxcc159.png)
評論