一、指標陣列與指標陣列
1,指標陣列
顧名思義,即乙個元素全部是指標的陣列,其形式與普通陣列相似,形式如 *a[n]。
在理解指標陣列的使用方式前,我先來說下我個人對陣列的理解。
比如一維整形陣列(形如int a[3]),其實是乙個具有3個整形元素的變數;二維整形陣列(形如int a[4][3]),可將其視為有a[4]和int[3]兩部分構成,將a[4]視為乙個一維陣列,其中包含a[0]、a[1]、a[2]、a[3],每個元素都是int[3]型別,比如a[0]包含a[0][0],a[0][1],a[0][2]三個元素;三維陣列以此類推...
指標陣列的元素既然是指標,那麼就可以將它的每乙個元素指向相同型別的其他元素(比如指向陣列)。
下面舉個例子說明指標陣列的使用方法
1 #include2 #include3view code4#define m 4
5#define n 367
void
main()818
}1920for(i=0;i//
為指標陣列賦值,將其元素指向二維陣列的第一維的元素
2124
25for(i=0;i//
列印出陣列
2631 printf("\n"
);32}33
3435
getchar();
36 }
2,陣列指標
陣列指標是乙個指向陣列的指標,形式為 (*a)[n],既可以指向一維陣列,也可以指向二維陣列。當執行a+1操作時,它會跨過n個單位長度。
下面舉例子說明
1 #include2 #include3view code#define m 4
4#define n 356
7void
main()818
}192021 printf("
利用b[i][j]方式列印陣列\n");
22for(i=0;i)
2328 printf("\n"
);29}30
31 a=&b[0];//
或者a=b,但前者可能更為準確
3233 printf("
利用a[i][j]方式列印陣列\n");
34for(i=0;i)
3540 printf("\n"
);41}42
43getchar();
44 }
C語言指標陣列與陣列指標
初學者總是分不出指標陣列與陣列指標的區別。其實很好理解 指標陣列 首先它是乙個陣列,陣列的元素都是指標,陣列佔多少個位元組由陣列本身決定。它是 儲存指標的陣列 的簡稱。陣列指標 首先它是乙個指標,它指向乙個陣列。在32 位系統下永遠是佔4 個位元組,至於它指向的陣列佔多少位元組,不知道。它是 指向陣...
C語言 關於指標陣列和陣列指標
一 指標陣列 按照語文的理解,我們知道指標陣列的中心詞是陣列,而指標是用來修飾陣列的定語。事實上在c語言中也確實是這樣,指標陣列,就是乙個陣列,乙個存放指標的陣列。它常用於指向若干字串,這樣使字串處理更加靈活方便。下面我們通過幾個例子來理解一下指標陣列 int arr1 10 char arr2 4...
C語言指標 指標與陣列
1 指標與一維陣列 2 指標與二維陣列 3 指標陣列與陣列指標 指標裡面最難的一種就是指標與陣列了,對於指標和二維陣列來說這裡面的關係比較複雜。牽涉到編譯器的原理和編譯過程。1 指標與一維陣列 指標是指向乙個記憶體的位址,一維陣列的陣列名代表一塊記憶體 這個陣列 的首位址,和陣列首元素的位址一樣,但...