指標陣列
定義 int *p[n];
1.優先順序高,先與p結合成為乙個陣列,
2.再由int*說明這是乙個整型指標陣列,
3.它有n個指標型別的陣列元素。
陣列指標
定義 int (*p)[n];
1.()優先順序高,首先說明p是乙個指標,
2.指向乙個整型的一維陣列,
3.執行p+1時,p要跨過n個整型資料的長度
總結:
陣列指標只是乙個指標變數,似乎是c語言裡專門用來指向二維陣列的,它占有記憶體中乙個指標的儲存空間。
指標陣列是多個指標變數,以陣列形式存在記憶體當中,占有多個指標的儲存空間。
還需要說明的一點就是,同時用來指向二維陣列時,其引用和用陣列名引用都是一樣的。
比如要表示陣列中i行j列乙個元素:
* ( p[ i ]+j )、* ( * ( p+i )+j )、( * ( p+i ) )[ j ]、p[ i ] [ j ]
函式指標
舉例如下:
#include
#include
void function()
int main()
函式指標陣列
拿乙個陣列,用它來放函式指標。
void (*fun[3])(int x);//函式指標陣列
void (*fun)(int x); //函式指標
舉例:
#include
void add(char *name)
void
delete(char *name)
void find(char *name)
void main()
可以避免寫大量的switch case 語句。
指向函式指標陣列的指標
指向函式指標陣列的指標是乙個指標指向乙個陣列,陣列的元素都是函式指標。
void test(const
char* str)
int main()
指標與陣列之間的聯絡
指標和陣列的關係 對於乙個一維陣列,例如int a 10 那麼a代表的是陣列的首位址,它和 a 0 是等價的。定義指標int p,p a 等價於p a 0 如果 p 指向a 0 那麼 p 就是 a 0 中的元素,p i 是陣列元素 a i 的位址,p i 就是陣列元素 a i 的內容。指標與陣列的轉...
指標 函式 二維陣列之間的聯絡
1.傳遞陣列指標 1 include 2 void output int pa 3 int n 這個函式只能輸出n行3列的二維陣列310 11void main 12,15 16 17 output a,2 18 2.傳遞 指標陣列 先將二維陣列的行指標儲存到乙個指標陣列中,再將指標陣列傳遞到子函式...
指標 陣列 字串 結構體之間的聯絡
1 指標操作變數 int p 定義乙個整形指標 p代表的是位址,p代表的是位址指向的值 int a 10 p a 將a的位址賦值給p指標 pa 20 通過指標改變變數a的值 a 20 也可以通過變數改變 p的值 2 指標運算元組 int i,b 30,a 0 i int p a 陣列名代表陣列的首位...