1 / 27

| 11 指標與陣列

| 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 陣列的位址. | 陣列結構與位址配置. << 範例:陣列位址  .

jesse
Télécharger la présentation

| 11 指標與陣列

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. |11指標與陣列

  2. 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 |    陣列結構與位址配置 >>

  3. 11.1 陣列的位址 |陣列結構與位址配置 << 範例:陣列位址     陣列與一般變數的位址配置比較 >>

  4. 11.1 陣列的位址 |陣列與一般變數的位址配置比較 int x ; << 陣列結構與位址配置    範例:陣列的值 >>

  5. 11.1 陣列的位址 |範例:陣列的值 陣列 a 的位址:0022FF50 陣列 a 的值:0022FF50 元素 a[0] 的值:00000064 元素 a[1] 的值:000000C8 4 3 2 1 << 陣列與一般變數的位址配置比較    位址與值 >>

  6. 11.1 陣列的位址 |位址與值 << 範例:陣列的值     指標與陣列元素關聯 >>

  7. 11.2 陣列指標與元素存取 |指標與陣列元素關聯 11.2.1 透過指標存取陣列元素 << 位址與值    範例:陣列元素位址 >>

  8. 11.2 陣列指標與元素存取 |範例:陣列元素位址 11.2.1 透過指標存取陣列元素 a:0022FF50 , a[0]:0022FF50 a+1:0022FF54 , a[1]:0022FF54 a+2:0022FF58 , a[2]:0022FF58 a+3:0022FF5C , a[3]:0022FF5C a+4:0022FF60 , a[4]:0022FF60 a+5:0022FF64 , a[5]:0022FF64 6 5 4 3 2 1 << 指標與陣列元素關聯    位址運算與陣列元素存取 >>

  9. 11.2 陣列指標與元素存取 |位址運算與陣列元素存取 11.2.1 透過指標存取陣列元素 << 範例:陣列元素位址    範例:陣列元素存取 >>

  10. 11.2 陣列指標與元素存取 |範例:陣列元素存取 11.2.1 透過指標存取陣列元素 a[0]:100 a[1]:200 a[2]:300 6 5 4 3 2 1 << 位址運算與陣列元素存取   printf() >>

  11. 11.2 陣列指標與元素存取 |printf() 11.2.1 透過指標存取陣列元素 a[0]:100 a[1]:200 a[2]:300 a[3]:400 a[4]:500 a[5]:600 2 1 << 範例:陣列元素存取    陣列值的修改 >>

  12. 11.2 陣列指標與元素存取 |陣列值的修改 11.2.2 變更陣列位址值的錯誤 int a[]={100,200,300,400,500,600} ; a++ ; a=100; • 陣列本身所儲存的位址值是一個常數值 • 嘗試修改 a 的值不被允許 • 第 2 行與第 3 行都會出現錯誤 int *p= a ; p++ ; • 修改一般的指標變數不會有任何問題。 << printf()  位址設定操作 >>

  13. 11.2 陣列指標與元素存取 |位址設定操作 11.2.2 變更陣列位址值的錯誤 << 陣列值的修改    陣列元素存取 >>

  14. 11.2 陣列指標與元素存取 |陣列元素存取 11.2.2 變更陣列位址值的錯誤 陣列元素存取 p 位址:0240FF40 p 值 :100 p++ 位址:0240FF44 p++ 值 :200 a[0] 位址:0240FF40 a[0] 值 :100 a[1] 位址:0240FF44 a[1] 值 :200 6 5 4 3 2 1 << 位址設定操作    宣告儲存指標資料的陣列 >>

  15. 11.3 以指標為儲存元素的陣列 |宣告儲存指標資料的陣列 int *pt[i] ; • pt 陣列可以儲存i 個指向特定整數值的指標 << 陣列元素存取    儲存不規則陣列 >>

  16. 11.3 以指標為儲存元素的陣列 |儲存不規則陣列 int x[3][5] ; 2 1 << 宣告儲存指標資料的陣列    範例:儲存指標示元素的陣列 >>

  17. 11.3 以指標為儲存元素的陣列 |範例:儲存指標元素的陣列 7 6 5 100 200 300 400 a[]: 100,200,300,400 b[]: 111,222,333,444,555 c[]: 100,300,500 4 111 222 333 444 555 3 2 100 300 500 1 << 儲存不規則陣列    二維陣列位址與元素值 >>

  18. 11.4 指標與二維陣列 |二維陣列位址與元素值 11.4.1 二維陣列位址 int x[3][4] ; • 第一個元素 x[0][0] 的位址,剛好是陣列的位址,同時也是它所儲存的值。 << 範例:儲存指標元素的陣列    二維陣列位址與元素值 >>

  19. 11.4 指標與二維陣列 |二維陣列位址與元素值 11.4.1 二維陣列位址 int x[2][3]= {{100,200,300},{111,222,333}} ; • x 的第 1 個元素 x[0][0] ,是第 1 個一維陣列中的第 1 個元素 100,它的位址等同於陣列 x 本身的位址,也是它的值。 << 二維陣列位址與元素值    範例:二維陣列與指標 >>

  20. 11.4 指標與二維陣列 |範例:二維陣列與指標 11.4.1 二維陣列位址 x[0][0] 位址:0240FF40 x 位址:0240FF40 x 的值:0240FF40 3 2 1 << 二維陣列位址與元素值    二維陣列指標 >>

  21. 11.4 指標與二維陣列 |二維陣列指標 11.4.2 二維陣列的指標運算 << 範例:二維陣列與指標    範例:二維陣列與指標運算 >>

  22. 11.4 指標與二維陣列 |範例:二維陣列與指標運算 11.4.2 二維陣列的指標運算 8 7 6 5 4 x[0] 的元素:100,200,300 x[1] 的元素:111,222,333 3 2 1 << 二維陣列指標    存取第二個一維陣列的值 >>

  23. 11.4 指標與二維陣列 |存取第二個一維陣列的值 11.4.2 二維陣列的指標運算 int b10 = *x[1]; int b11 = *(x[1]+1); int b12 = *(x[1]+2); • x[1] 表示第 2 個一維陣列,因此會從第 2 個陣列的第 1 個值開始讀取 << 範例:二維陣列與指標運算    字串與陣列 >>

  24. 11.5 字串與陣列指標 |字串與陣列 char str[]="ABCDE" ; char *strp = "abcde" ; • 第 1 行是典型的 char 陣列 • 第 2 行將字串指定給「指標變數」 strp • 陣列本身所儲存的值便是一個位址資訊,因此可以直接指定給指標變數 << 存取第二個一維陣列的值    範例:字串 >>

  25. 11.5 字串與陣列指標 |範例:字串 6 str位址:0240FF50 str 值:good morning cp 位址:0040121E cp 值:wwww.google.com 5 4 3 2 1 << 字串與陣列    字元與陣列 >>

  26. 11.5 字串與陣列指標 |字元與陣列 char str[3][3]={"AAA","BBB","CCC"} ; char *cp[3] = {"aaa","bbb","ccc"} ; • 第 1 行是傳統的二維字元陣列,可以用來儲存數個字串 • 第 2 行以指標陣列儲存字串 << 範例:字串    範例:字串陣列 >>

  27. 11.5 字串與陣列指標 |範例:字串陣列 TAIWAN CHINA JAPAN USA Italy Singapore 2 1 << 字元與陣列    |

More Related