| 11 指標與陣列
DESCRIPTION
| 11 指標與陣列. 11.1 陣列的位址. | 範例:陣列位址. 陣列 a 的位址: 0022FF50 元素 a[0] 的位址: 0022FF50 元素 a[1] 的位址: 0022FF54 元素 a[2] 的位址: 0022FF58 元素 a[3] 的位址: 0022FF5C 元素 a[4] 的位址: 0022FF60 元素 a[5] 的位址: 0022FF64. 3. 2. 1. | . 陣列結構與位址配置 >>. 11.1 陣列的位址. | 陣列結構與位址配置.TRANSCRIPT
C 語言入門經典
| 11 指標與陣列
C 語言入門經典
3
2
1
陣列結構與位址配置 >> |
|範例:陣列位址11.1 陣列的位址
陣列 a 的位址: 0022FF50元素 a[0] 的位址: 0022FF50元素 a[1] 的位址: 0022FF54元素 a[2] 的位址: 0022FF58元素 a[3] 的位址: 0022FF5C元素 a[4] 的位址: 0022FF60元素 a[5] 的位址: 0022FF64
C 語言入門經典 陣列與一般變數的位址配置比較 >> << 範例:陣列位址
|陣列結構與位址配置11.1 陣列的位址
C 語言入門經典 範例:陣列的值 >> << 陣列結構與位址配置
|陣列與一般變數的位址配置比較11.1 陣列的位址
int x ;
C 語言入門經典
4
3
2
1
位址與值 >> << 陣列與一般變數的位址配置比較
|範例:陣列的值
陣列 a 的位址: 0022FF50陣列 a 的值: 0022FF50元素 a[0] 的值: 00000064元素 a[1] 的值: 000000C8
11.1 陣列的位址
C 語言入門經典 指標與陣列元素關聯 >> << 範例:陣列的值
|位址與值11.1 陣列的位址
C 語言入門經典 範例:陣列元素位址 >> << 位址與值
|指標與陣列元素關聯11.2 陣列指標與元素存取
11.2.1 透過指標存取陣列元素
C 語言入門經典 位址運算與陣列元素存取 >> << 指標與陣列元素關聯
|範例:陣列元素位址
a : 0022FF50 , a[0]:0022FF50a+1 : 0022FF54 , a[1]:0022FF54a+2 : 0022FF58 , a[2]:0022FF58a+3 : 0022FF5C , a[3]:0022FF5Ca+4 : 0022FF60 , a[4]:0022FF60a+5 : 0022FF64 , a[5]:0022FF64
5
4
3
2
1
6
11.2 陣列指標與元素存取
11.2.1 透過指標存取陣列元素
C 語言入門經典 範例:陣列元素存取 >> << 範例:陣列元素位址
|位址運算與陣列元素存取11.2 陣列指標與元素存取
11.2.1 透過指標存取陣列元素
C 語言入門經典
5
4
3
2
1
printf() >> << 位址運算與陣列元素存取
6
|範例:陣列元素存取11.2 陣列指標與元素存取
11.2.1 透過指標存取陣列元素
a[0] : 100a[1] : 200a[2] : 300
C 語言入門經典
2
1
陣列值的修改 >> << 範例:陣列元素存取
| printf()
a[0] : 100a[1] : 200a[2] : 300a[3] : 400a[4] : 500a[5] : 600
11.2 陣列指標與元素存取
11.2.1 透過指標存取陣列元素
C 語言入門經典 位址設定操作 >> << printf()
|陣列值的修改11.2 陣列指標與元素存取
11.2.2 變更陣列位址值的錯誤
int a[]={100,200,300,400,500,600} ;a++ ;a=100;
• 陣列本身所儲存的位址值是一個常數值• 嘗試修改 a 的值不被允許• 第 2 行與第 3 行都會出現錯誤
int *p= a ;p++ ;• 修改一般的指標變數不會有任何問題。
C 語言入門經典 陣列元素存取 >> << 陣列值的修改
|位址設定操作11.2 陣列指標與元素存取
11.2.2 變更陣列位址值的錯誤
C 語言入門經典
4
3
2
1
宣告儲存指標資料的陣列 >> << 位址設定操作
|陣列元素存取
p 位址: 0240FF40p 值 : 100p++ 位址: 0240FF44p++ 值 : 200a[0] 位址: 0240FF40a[0] 值 : 100a[1] 位址: 0240FF44a[1] 值 : 200
陣列元素存取
5
6
11.2 陣列指標與元素存取
11.2.2 變更陣列位址值的錯誤
C 語言入門經典 儲存不規則陣列 >> << 陣列元素存取
|宣告儲存指標資料的陣列11.3 以指標為儲存元素的陣列
int *pt[i] ;
• pt 陣列可以儲存 i 個指向特定整數值的指標
C 語言入門經典
2
1
範例:儲存指標示元素的陣列 >> << 宣告儲存指標資料的陣列
|儲存不規則陣列
int x[3][5] ;
11.3 以指標為儲存元素的陣列
C 語言入門經典 二維陣列位址與元素值 >> << 儲存不規則陣列
|範例:儲存指標元素的陣列
a[]: 100,200,300,400b[]: 111,222,333,444,555c[]: 100,300,500
100 200 300 400
111 222 333 444 555
100 300 500
5
4
3
2
1
6
7
11.3 以指標為儲存元素的陣列
C 語言入門經典 二維陣列位址與元素值 >> << 範例:儲存指標元素的陣列
|二維陣列位址與元素值11.4 指標與二維陣列
int x[3][4] ;
• 第一個元素 x[0][0] 的位址,剛好是陣列的位址,同時也是它所儲存的值。
11.4.1 二維陣列位址
C 語言入門經典 範例:二維陣列與指標 >> << 二維陣列位址與元素值
int x[2][3]= {{100,200,300},{111,222,333}} ;
• x 的第 1 個元素 x[0][0] ,是第 1 個一維陣列中的第 1 個元素 100 ,它的位址等同於陣列 x 本身的位址,也是它的值。
|二維陣列位址與元素值11.4 指標與二維陣列
11.4.1 二維陣列位址
C 語言入門經典
3
2
1
二維陣列指標 >> << 二維陣列位址與元素值
|範例:二維陣列與指標11.4 指標與二維陣列
11.4.1 二維陣列位址
x[0][0] 位址: 0240FF40x 位址: 0240FF40x 的值: 0240FF40
C 語言入門經典 範例:二維陣列與指標運算 >> << 範例:二維陣列與指標
|二維陣列指標11.4 指標與二維陣列
11.4.2 二維陣列的指標運算
C 語言入門經典
5
4
3
2
1
存取第二個一維陣列的值 >> << 二維陣列指標
6
7
8
|範例:二維陣列與指標運算11.4 指標與二維陣列
x[0] 的元素: 100,200,300x[1] 的元素: 111,222,333
100 200 300
111 222 333
11.4.2 二維陣列的指標運算
C 語言入門經典 字串與陣列 >> << 範例:二維陣列與指標運算
|存取第二個一維陣列的值
int b10 = *x[1];int b11 = *(x[1]+1);int b12 = *(x[1]+2);
11.4 指標與二維陣列
11.4.2 二維陣列的指標運算
• x[1] 表示第 2 個一維陣列,因此會從第 2 個陣列的第 1 個值開始讀取
C 語言入門經典 範例:字串 >> << 存取第二個一維陣列的值
|字串與陣列11.5 字串與陣列指標
char str[]="ABCDE" ;char *strp = "abcde" ;
• 第 1 行是典型的 char 陣列
• 第 2 行將字串指定給「指標變數」 strp
• 陣列本身所儲存的值便是一個位址資訊,因此可以直接指定給指標變數
C 語言入門經典 字元與陣列 >> << 字串與陣列
|範例:字串
str 位址 :0240FF50str 值 :good morningcp 位址 :0040121Ecp 值 :wwww.google.com
11.5 字串與陣列指標
5
4
3
2
1
6
C 語言入門經典 範例:字串陣列 >> << 範例:字串
|字元與陣列
char str[3][3]={"AAA","BBB","CCC"} ;char *cp[3] = {"aaa","bbb","ccc"} ;
• 第 1 行是傳統的二維字元陣列,可以用來儲存數個字串
• 第 2 行以指標陣列儲存字串
11.5 字串與陣列指標
C 語言入門經典
2
1
|<< 字元與陣列
|範例:字串陣列
Singapore
TAIWAN CHINA JAPAN
USA Italy
11.5 字串與陣列指標
Chapterepaper.gotop.com.tw/pdf/AEL021200.pdf · 列A 的第1 個元素、A(1) 表示陣列A 的第2 個元素;若要取得陣列的元 素個數,可以使用陣列的名稱與
學習一維、二維與多維陣列的使用 學習如何傳遞陣列給函數 認識 …blog.ncut.edu.tw/userfile/2992/第九章.pdf · 1 第九章 陣列與字串 學習一維、二維與多維陣列的使用