IOS開發之路 C 學習筆記7 24

2021-06-17 01:20:15 字數 978 閱讀 4066

c語言根據變數作用域的不同,將變數分為區域性變數和全域性變數。

1> 定義:在函式內部定義的變數,稱為區域性變數。形式引數也屬於區域性變數。

2> 作用域:區域性變數只在定義它的函式內部有效,即區域性變數只有在定義它的函式內部使用,其它函式不能使用它。

1> 定義:在所有函式外部定義的變數,稱為全域性變數。

2> 作用域:全域性變數的作用範圍是從定義變數的位置開始到源程式結束,即全域性變數可以被在其定義位置之後的其它函式所共享。

1> 定義:自動變數是儲存在堆疊中的。

2> 哪些是自動變數:被關鍵字auto修飾的

區域性變數都是自動變數,但是極少使用這個關鍵字,基本上是廢的,因為所有的區域性變數在預設情況下都是自動變數。

3> 生命週期:在程式執行到宣告自動變數的**塊(函式)時,自動變數才被建立;當自動變數所在的**塊(函式)執行完畢後,這些自動變數就會自行銷毀。如果乙個函式被重複呼叫,這些自動變數每次都會重新建立。

1> 定義:靜態變數是儲存在靜態記憶體中的,也就是不屬於堆疊。

2> 哪些是靜態變數:

3> 生命週期:靜態變數在程式執行之前建立,在程式的整個執行期間始終存在,直到程式結束。

如果寫在函式裡面的static

修飾的變數,是乙個靜態變數,那麼會隨之改變其生命週期

,但並不會改變其作用域

.1> 定義:儲存在硬體暫存器中的變數,稱為暫存器變數。暫存器變數比儲存在記憶體中的變數訪問效率更高(預設情況下,自動變數和靜態變數都是放在記憶體中的)

2> 哪些變數是暫存器變數:

3> 生命週期:因為暫存器變數本身就是自動變數,所以函式中的暫存器變數在呼叫該函式時占用暫存器中存放的值,當函式結束時釋放暫存器,變數消失。

如果原始檔one.c中得變數或者函式不希望別的原始檔訪問,可以

把one.c中不想被外部訪問的變數或函式定義為內部函式或者內部變數,需要在前面加static

例:static int a;

static viod sum();

IOS開發之路 C 學習筆記7 15

今天聽的還是挺輕鬆的,但是還是學到了以前不知道的東西.比如 i 先自增 再使用 i 先使用 再自增 高精度忘低精度轉 不四捨五入直接捨掉 例 printf d int 3.14 還有幻影回車符.例用scanf輸入時 void getchar 其中輸入完4個數字之後 如輸入1 2 3 4 之後回車,輸...

IOS開發之路 C 學習筆記7 16

c語言中使用0作為假,非0即為真 與 同真為真 同假為假 其中有乙個為假 即為假 或 同真為真 同假為假 有真即真 非 非真即假 反之亦然 運算子優先順序 綜合性 從左到右 算數,單目運算子 從右到左 算術,單目運算子 從左到右 算數,雙目運算子 從左到右 關係運算子 從左到右 關係運算子 從左到右...

IOS開發之路 C 學習筆記7 17

7 17 星期3 c語言迴圈有三種 while do while forbreak 跳出迴圈 距離自己最近的 continue 跳出本次迴圈,而不結束整個迴圈,然後繼續下次迴圈 0 1 2 3 4 5 6 100 for i 0 i 100 i else sum i 今天講的迴圈結構聽的很簡單,下午...