C 中的指標與陣列

2021-10-07 16:26:06 字數 948 閱讀 8611

一些基本的概念及舉例說明

1. float(**def)[10]  def是乙個二級指標,指向乙個一維陣列的針,這個一維陣列的指標指向乙個長度為10的陣列

float ac[10][10];

float(*pc)[10] = &ac[1];  //指向二維陣列的第二行 

def = &pc;                //二級指標

float c[10]; 

float(*pc)[10] = &c;      //指向一維陣列的指標

def = &pc;                //二級指標

2. double*(*gh)[10]   指向指標陣列的指標,陣列中的每個元素都是double*型別

double d[10];

double c[10];

double *e[10] = ;

double*(*gh)[10] = &e ;

3. double(*f[10])();  f是乙個指標函式的陣列

double(*a)();

double (*b)();

double (*f[10])() = ;

f[0] = a;

4. int*((*b)[10]);  和 double*(*gh)[10]含義相同,都是指向指標陣列的二級指標

5. long(*fun)(int) ; 定義了乙個入參為int出參為long的函式指標

6. int (*(*f)(int,int))(int)

f是乙個函式指標,指向的函式有兩個int參婁,並返回乙個函式指標的函式,

7. int(*f[10])(float) 定義了乙個有10個指標的陣列,每個指會指向乙個函式,函式入參為float,出參為int

根據以上,二維陣列的首位址本質是乙個指向一維陣列的指標 因此在作為函式引數時應以 int (*a)[10]的形式傳參。

C 中的指標陣列與陣列指標

指標陣列即為包含了多個指標的陣列 而陣列指標指的是指向陣列的指標。指標陣列中的每個元素都是指標,而多維陣列是陣列的陣列。因此,指標資料與多維陣列類似。指標陣列歸根到底也屬於陣列,因此,其定義的方式為 型別名 識別符號 陣列維數 只不過此時的型別名為指標型別。例如 int myarray 2 定義了乙...

C 指標陣列與陣列指標

說實話,c語言真的很讓人蛋疼,它不像物件導向的語言,我們重心在設計程式上。而使用c語言,你不僅要考慮程式的設計,你還要考慮很多他的使用細節,不然一不小心你怎麼死的都不知道。但是,個人感覺,c語言的魅力是其他任何語言都比不了的!繼續看。陣列指標 範例 typedef int aint5 5 typed...

C 指標陣列與陣列指標

陣列指標 也稱行指標 陣列指標 a pointer to an array,即指向陣列的指標 定義 int p n 優先順序高,首先說明p是乙個指標,指向乙個整型的一維陣列,這個一維陣列的長度是n,也可以說是p的步長。也就是說執行p 1時,p要跨過n個整型資料的長度。如要將二維陣列賦給一指標,應這樣...