標準C學習day07 可變長陣列 多維陣列

2021-09-22 08:07:05 字數 2501 閱讀 7139

陣列還可以把儲存區進行分組

第一組           第二組
一維陣列不可以表示儲存區的分組情況

多維陣列才可以表示儲存區的分組情況

二維陣列是最常見的多維陣列,它只能

表示一次分組情況

為了表示二維陣列裡的儲存區需要提供

兩個下標

可以採用雙重迴圈依次處理二維陣列裡的

每個儲存區

二維陣列也應該進行初始化

二維陣列可以象一維陣列一樣進行初始化

可以對初始化資料進行分組

如果可以根據初始化資料個數計算出分組

個數就可以省略二維陣列宣告裡的

分組個數

二維陣列名稱可以代表陣列裡第乙個儲存區

的位址int arr[3][2];

| **** **** | **** **** | **** **** |^*

**arr二維陣列名稱不可以被賦值

可以對二維陣列名稱進行sizeof計算,

結果是二維陣列裡所有儲存區的總大小

二維陣列名稱後也可以只使用乙個下標,

這個下標是組下標

int arr[3][2]

組下標為0 組下標為1 組下標為2

| **** **** | **** **** | **** **** |^*

*arr[1]

arr[num]表示組下標為num那一組裡第乙個

儲存區的位址

二維陣列裡每組儲存區可以看做是乙個一維

陣列,二維陣列名稱後加組下標可以作為

這個一維陣列的名稱使用

int arr[3][2]

組下標是0  組下標是1   組下標是2
| **** **** | **** **** | **** **** |

---------

arr[1]

可以採用分組的方式管理程式裡的語句

每個語句分組叫做乙個函式

多函式程式執行時的時間分配必須遵守

以下規則

1.整個程式的執行時間被分成幾段,每段

由乙個函式使用

2.不同時間段不能互相重疊並且所有時間段

必須連續

3.如果函式a把時間分配給函式b使用則

函式b結束後必須把時間再還給函式a

如果函式a把時間分配給函式b使用則它們

之間存在函式呼叫關係

函式a叫做呼叫函式,函式b叫做被呼叫函式

函式呼叫關係只在被呼叫函式工作期間有效

函式呼叫語句可以產生函式呼叫關係

變數只能在函式裡使用,其他函式不可以使用

不同函式裡的變數可以重名

如果函式多次執行,每次執行的時候變數

代表的儲存區都不同

宣告變數的時候可以使用volatile關鍵字,

這種變數的內容可以被其它程式修改

函式呼叫過程中通常伴隨著兩個函式之間

的資料傳遞

資料傳遞存在兩個完全相反的方向

乙個方向是從呼叫函式向被呼叫函式

另乙個方向是從被呼叫函式向呼叫函式

不論那個方向的資料傳遞都需要把資料

記錄在被呼叫函式的儲存區里

只能從被呼叫函式向呼叫函式傳遞乙個

資料這個資料叫做被呼叫函式的返回值

被呼叫函式只能在最後一步才能傳遞

返回值被呼叫函式需要提供乙個專門的儲存區

用來存放返回值

編寫被呼叫函式的時候需要把這個儲存區

的型別名稱寫在函式名稱前

在被呼叫函式裡使用return關鍵字向

這個儲存區里放返回值

呼叫函式裡直接把函式呼叫語句作為數字

使用就可以得到返回值

如果沒有使用retuan關鍵字設定返回值

這個時候返回值是乙個隨機數

呼叫函式得到返回值以後或者立刻使用,

或者存放在別的儲存區里

如果函式沒有返回值在編寫的時候就應該

在函式名稱前寫void

如果函式名稱前什麼都沒寫在c89規範裡

表示函式有乙個整數型別的返回值,

在c99規範裡不允許這樣

函式不可以用陣列存放返回值

可以從呼叫函式向被呼叫函式傳遞多個

資料,這些資料的型別可以不同

被呼叫函式需要為每個傳遞過來的資料

提供乙個專用的儲存區

代表這些儲存區的變數應該宣告在函式

名稱後面的小括號裡

這些變數叫做形式引數

小括號裡的所有內容叫做形式引數列表

每個形式引數的型別名稱都不可以省略

被呼叫函式裡就可以把形式引數當做

變數使用

呼叫帶引數的函式時需要為每個引數提供

乙個對應的數字

這些數字叫做實際引數

只要能作為數字使用的內容都可以作為實際

引數使用

如果函式沒有形式引數就應該在小括號裡

寫void

如果小括號裡什麼都不寫表示函式有任意

多個不確定型別的形式引數

被呼叫函式

前端學習 Day07

所謂文件流就是按照元素的順序從左到右 由上而下的方式排列。預設的文件流很多時候不能滿足我們的布局要求,需要更豐富的布局手段,這就需要用到定位了。定位方式有 static fixed relative absolute。static靜態定位 預設 無定位,元素正常出現在文件流中 不受left,righ...

python學習系列 day07

一 執行緒與程序 1 threadlocal 定義為乙個全域性變數,每乙個執行緒可以訪問,但是其在各個執行緒之間的訪問是不相互影響。對於各個執行緒來將就是區域性變數。import threading local school threading.local 定義乙個threadlocal物件 def...

day07 二維陣列

陣列名稱不可以代表儲存區 陣列名稱代表陣列裡第乙個儲存區的位址 可以對陣列名稱進行sizeof計算,結果 是整個陣列包含的總位元組個數 c99規範裡允許宣告陣列的時候使用變數表示 陣列裡的儲存區個數 這種陣列叫變長陣列 每次程式執行過程中陣列裡儲存區個數不會改變 如果程式多次執行則每次執行的時候陣列...