資訊人筆記

Work hard, Have fun, Make history!

使用者工具

網站工具


programming:c:array_and_pointer

陣列與指標

0x01 陣列

陣列是由相同資料型態所組成的資料結構

陣列是靜態的資料結構,在執行期間大小並不會改變

陣列名稱不能以數字開頭

陣列的 index 從 0 開始

非 static 陣列不會自動給訂初始值,若指定的初始值個數少於陣列元素,其後的會全部自動初始為 0

int n[10]={0};

若陣列定義時省略大小,則陣列大小等於初始值個數

int n[]={1,2,3,4,5}

陣列名稱表示陣列第一個元素的記憶體位址,因此將陣列傳入函式時只需指定陣列名稱即可,不需加上 [],這是一種傳參考呼叫,在函式中的改變會直接影響到原始陣列

加上 [] 表示陣列位址的值,可以將陣列個別元素傳入函式,這是傳值呼叫,在函式中的改變不會影響到原始陣列


0x02 指標

指標是代表記憶體位址的變數,存放的是某個變數的位址

指向某個整數型別位址的變數

int *

& 為取址運算子,會回傳運算元(變數)位址

* 為間接運算子,或反參考運算子,會回傳運算元(指標)所指向物件的值

programming/c/array_and_pointer.txt · 上一次變更: 127.0.0.1