Linux C----陣列與指標
阿新 • • 發佈:2019-01-05
1、陣列
陣列:陣列是一種複合資料型別,它由一系列形同型別的元素組成。
例:定義一個由5個int型元素組成的陣列 count:int count [5].
注意:1、對於同一陣列,其元素的資料型別是相同的。
2、陣列名書寫規則應符合識別符號書寫規則。
3、陣列名不能同變數名形同。
4、方括號中常量表達式表示陣列的個數,其下標值從0開始。
5、允許在同一型別說明中,說明多個數組和多個變數。
1.1一維陣列
型別說明符 陣列名[常量表達式]={值,值,值};
例:int i[5]={1,2,3,4,5};
1.2二維陣列
資料型別 陣列名[陣列長度][陣列長度]
例:
1.3字元陣列
用來存放字元量的陣列稱為字元陣列。
例:
1.4多位陣列
多位陣列就像可以巢狀一樣,陣列也可以巢狀,一個數組的元素可以是另外一個數組,這樣就構成了多位陣列。多位陣列可分為整形陣列、浮點陣列、和字元陣列等。
#include<iostream> using namespace std; int main() { int num[3][4][5]={{{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20}}, {{21,22,23,24,25},{26,27,28,29,30},{31,32,33,34,35},{36,77,88,39,40}}, {{41,42,43,44,45},{46,47,48,49,50},{51,52,53,54,55},{56,57,58,59,60}}}; int addr1=(int)num; int addr2=(int)(num+1); cout<<addr1<<endl<<addr2<<endl; return 0; }
2、指標
一個指標是一個地址,是一個常量。而一個指標變數卻可以被賦予不同的至真值,是變數。但常把指標變數簡稱尾指標。為了避免混淆,我們中約定:“指標”是指地址,是常量,“指標變數”是指取值為地址的變數。定義指標目的是為了通過指標去問記憶體單元。
對指標變數的定義包括三個內容:
1.指標型別說明,即定義變數為一個指標變數;
2.指標變數名;
3. 變數值(指標)所指向的變數的資料型別。
指標的寫法:
型別說明符 *指標名=&變數名;
(其中型別說明符表示本指標變數所指向的變數的資料型別,*表示這是一個指標變數,&表示取變數名對應的記憶體地址)
指標變數作為函式引數:
l函式的引數不僅可以是整型、實型、字元型等資料,還可以是指標型別。它的作用是指標與陣列
1)一個變數有一個地址,一個數組包含若干元素,每個陣列元素都在記憶體中佔用儲存單元,它們都有相應的地址。所謂陣列的指標是指陣列的起始地址,陣列元素的指標是陣列元素的地址。2)一個數組是由連續的一塊記憶體單元組成的。陣列名就是這塊連續記憶體單元的首地址。一個陣列也是由各個陣列元素(下標變數)組成的。每個陣列元素按其型別不同佔有幾個連續的記憶體單元。一個數組元素的首地址也是指它所佔有的幾個記憶體單元的首地址。3)指標變數可以實現本身的值的改變。如p++是合法的,代表下一個陣列元素的地址;而 a++是錯誤的。因為a是陣列名,它是陣列的首地址,是常量。指向指標的指標:
l指標可以指向基本型別,也可以指向複合型別,因此也可以指向另外一個指標變數,稱為指向指標的指標。指標變數作為函式引數
指標變數作為函式引數