摘要:目錄關鍵字修飾局部變量修飾全局變量修飾函數關鍵字修飾局部變量使得局部變量出了自己的范圍也不銷毀,其實是改變了其生命周期但是作用域還是局部的。
使得局部變量出了自己的范圍也不銷毀,其實是改變了其生命周期 但是作用域還是局部的。
不使用static修飾局部變量:
void test() { int a = 1; a++; printf("%d/n", a);}int main() { int i = 0; while (i < 10) { test(); i++; } return 0;}
使用static修飾局部變量:
void test() { static int a = 1; a++; printf("%d/n", a);}int main() { int i = 0; while (i < 10) { test(); i++; } return 0;}
總結:
未使用static修飾全局變量:
test.c文件:
extern int g_val;//聲明外部變量,在add.c中定義變量,int main() { printf("%d/n", g_val); return 0;}
add.c文件:
int g_val = 200;
使用static修飾全局變量:
test.c文件:
extern int g_val;//聲明外部變量,在add.c中定義變量,int main() { printf("%d/n", g_val); return 0;}
add.c文件:
static int g_val = 200;
運行出錯:
總結:
未使用static關鍵字:
//聲明外部符號
test.c文件:
extern Add(int x,int y);int main() { int a = 10; int b = 20; int ret = Add(a, b); printf("%d/n", ret); return 0;}
add.c文件:
int Add(int x, int y) {//int表示函數調用返回int變量 int z = x + y; return z;}
使用static關鍵字:
//聲明外部符號
test.c文件:
extern Add(int x,int y);int main() { int a = 10; int b = 20; int ret = Add(a, b); printf("%d/n", ret); return 0;}
add.c文件:
static int Add(int x, int y) {//不能被外部.cpp文件調用 int z = x + y; return z;}
運行出錯:
總結:
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/122559.html
C語言中static關鍵字 用static聲明限定外部變量與函數,可以將其后聲明的對象的作用域限定為被編譯源文件的剩余部分。要降對象指定為靜態存儲,可以在正常的聲明之前加上關鍵字static作為前綴。 一個聲明中最多只能有一個存儲類說明符。如果沒有指定存儲類說明符,則將按照下列規則進行: 在函數內部聲明的對象被認為是auto類型; 在函數內部聲明的函數被認為是extern類型; 在函數外部聲明的對...
摘要:局部變量的作用域是變量所在的局部范圍。局部變量的生命周期是進入作用域生命周期開始,出作用域生命周期結束。 目錄 1、什么是c語言? 2、數據類型 3、變量、常量 3.1 定義變量的方法 3.2 變量的分類 3.3 變量的作用域和生命周期 3.4定義常量的方法 4、關鍵字 1、什么是c語言?...
摘要:文章目錄多文件問題修飾全局變量和函數修飾局部變量局部變量就是臨時的,全局變量就是全局的多文件問題全局變量和函數在另一個文件定義的函數能在其他文件中使用嗎可以的在另一個文件定義的全局變量能在其他文件使用嗎可以的從上面來看 ...
摘要:局部變量的作用域是變量所在的局部范圍。生命周期變量的生命周期變量的創建和銷毀之間的時間段局部變量的生命周期進入作用域生命周期開始,出作用域生命周期結束。 前言: 就在前幾天,C語言入門到進階部分的專欄——《維生素C語言》終于完成了。全文共計十八個章節并附帶三張筆試練習篇,美中不足的是,第...
閱讀 2384·2023-04-26 02:54
閱讀 2307·2021-10-14 09:43
閱讀 3341·2021-09-22 15:19
閱讀 2837·2019-08-30 15:44
閱讀 2697·2019-08-30 12:54
閱讀 980·2019-08-29 18:43
閱讀 1932·2019-08-29 17:12
閱讀 1325·2019-08-29 16:40