陣列 指標 總結

2021-08-21 16:56:28 字數 2738 閱讀 6826

陣列:      相同資料型別的集合,並且是一塊連續的記憶體單元

陣列聚合型別:初始化只有一次。

arr1[5]                 如果陣列只進行了宣告,那麼初值為隨機值!!

arr2[5]=    如果區域性初始化,其他元素值為0!!    1  2  3  0  0

arr3[5]={}             0 0 0 0 0

arr陣列名代表陣列的首位址;

二維陣列

int brr2[3][3] = ;

int brr3[3][3] =  ;//預設值為0

int brr4[3] = ;//二維陣列定義的時候可以省略行

取別  :sizeof 包含\0;  strlen  遇到\0停止

int len = sizeof(arr)/sizeof(arr[0]);  //計算陣列長度

char crr[5] = ;    sizeof(crr)/sizeof(crr[0])  5

char crr2 = ;   sizeof(crr2)/sizeof(crr2[0])  5

char crr5 = "abcde";//預設加\0   sizeof(crr5)/sizeof(crr5[0])  6

sizeof     strlen 

char str[100] = "abcdef";                 100         6          

char str2 = "abcdef";                       7           6

char *str3 = "abcdef";                        4           6

char str4[100] = "abcdef\0xyz";       100         6 

char str5 = "abcdef\0xyz";              11           6

char *str6 = "abcdef\0xyz";               4            6

char str7 = "abcdef\n\0";                 9           7

char *str8 = "abcdef\n\0";                  4           7

指標

指標是程式資料在記憶體中的位址,而指標變數是用來儲存這些位址的變數。

c語言中的一切函式呼叫中,值傳遞都是「按值傳遞」的,如果我們要在函式中修改被傳遞過來的物件,就必須通過這個物件的指標來完成。

由於記憶體中的每乙個位元組都有乙個唯一的編號,因此,在程式中使用的變數,常量,甚至數函式等資料,當他們被載入到記憶體中後,都有自己唯一的乙個編號,這個編號就是這個資料的位址。指標就是這樣形成的。

sizeof(指標):  4    不管什麼指標

值永遠為4  int *    char *    double*

int *p=&a;//指標用來儲存位址

用來儲存 指標 的變數,就是指標變數。如果指標變數p1儲存了變數 num的位址,則就說:p1指向了變數num,也可以說p1指向了num所在的記憶體塊 ,這種指向關係,在圖中一般用 箭頭表示。

上圖中,指標變數p1指向了num所在的記憶體塊 ,即從位址0028ff40開始的4個byte 的記憶體塊。

定義指標變數

c語言中,定義變數時,在變數名 前 寫乙個 * 星號,這個變數就變成了對應變數型別的指標變數。必要時要加( ) 來避免優先順序的問題。

取位址

既然有了指標變數,那就得讓他儲存其它變數的位址,使用& 運算子取得乙個變數的位址。

解位址

我們需要乙個資料的指標變數幹什麼?當然使用通過它來操作(讀/寫)它指向的資料啦。對乙個指標解位址,就可以取到這個記憶體資料,解位址 的寫法,就是在指標的前面加乙個*號。

解指標的實質是:從指標指向的記憶體塊中取出這個記憶體資料。

空指標

指向空,或者說不指向任何東西。在c語言中,我們讓指標變數賦值為null表示乙個空指標,而c語言中,null實質是 ((void*)0) ,  在c++中,null實質是0。

一二級指標,指標陣列,陣列指標總結

指標就是變數,用來存放位址的變數。includeint main 指標的型別 變數有不同的型別,指標同樣有不同的型別,在定義指標的時候用 type 的方式來定義指標的,如 char 型別的指標就是為了存放char型別的變數的位址。int 型別就是為了存放int型別的變數位址,等等。char p1 n...

陣列,指標,指標陣列,陣列指標

指標是在32位系統下佔四個位元組,64位系統下佔八個位元組的一種型別,指標指向的內容可以是常量,變數,函式,結構體,指標本身,陣列,等等.一級指標 一級指標常常在函式傳參時使用,可傳的引數有一維陣列,常量指標,函式指標等等都可以 但我們要注意不要在函式中,通過改變形參的指向來達到改變實參指向的效果,...

指標, 指標的指標, 陣列, 指標陣列, 陣列指標

指標 int a 10 int p a 指標的指標 int b 20 int p b int p2p p 簡單陣列 int c 10 整數陣列,含有10個整數元素 也就是說每乙個元素都是整數 指標陣列 int p 10 指標陣列,含有10個指標元素 也就是說每乙個元素都是指標 陣列指標 int p ...