WeHelp
C 語言是一種通用的、程序式的程式語言,可直接對記憶體與硬體進行操作,效率極高。
  1. C 特色用途、相關職務
  2. Windows 環境建置、測試
  3. Mac 環境建置、測試
  4. Linux 環境建置、測試
  5. C 標準輸出、輸入
  6. C 資料型態
  7. C 變數使用
  8. C 運算符號
  9. IF 條件判斷
  10. Switch 條件判斷
  11. While 迴圈
  12. For 迴圈
  13. Array 陣列
  14. String 字串
  15. Function 函式
  16. 標準函式庫
  17. Struct 結構
  18. Pointer 指標
  19. 指標與函式參數
  20. 指標與陣列
  21. 指標與結構
  22. 動態配置記憶體
指標與陣列
在 C 語言中,陣列名稱通常會轉換成指向陣列第一個元素的指標。因此可以透過 Pointer(指標)來存取或修改 Array(陣列)中的資料。 ### 基本概念 假設有陣列: ```c int numbers[3] = {10, 20, 30}; ``` - `numbers`:代表第一個元素的位址 - `&numbers[0]`:第一個元素的位址 - `*numbers`:取得第一個元素的值,也就是 `10` - `*(numbers + 1)`:取得第二個元素的值,也就是 `20` 陣列索引與指標表示法等價: ```c numbers[i] == *(numbers + i) ``` ### 簡單範例 ```c #include <stdio.h> int main(void) { int numbers[5] = {10, 20, 30, 40, 50}; int *ptr = numbers; // ptr 指向陣列第一個元素 for (int i = 0; i < 5; i++) { printf("第 %d 個元素:%d\n", i + 1, *(ptr + i)); } // 透過指標修改陣列內容 *(ptr + 2) = 100; printf("修改後第三個元素:%d\n", numbers[2]); return 0; } ``` ### 執行結果 ```text 第 1 個元素:10 第 2 個元素:20 第 3 個元素:30 第 4 個元素:40 第 5 個元素:50 修改後第三個元素:100 ``` 其中: ```c *(ptr + i) ``` 表示從指標 `ptr` 開始,向後移動 `i` 個元素,再取得該位置的資料。由於 `ptr` 是 `int *`,每次移動會自動跳過一個 `int` 的大小。
相關學習地圖、教學課程
C 語言,系統程式
掌握基礎的 C 語法,以及進階的系統程式開發能力。