首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

指標與陣列(一):一維陣列指標表示法與輸入輸出範例

     編輯:C 語言基礎

指標與一維陣列

陣列名即陣列在記憶體的首位址。定義指標變數並指向陣列首址:

int a[10], *ptr;
ptr = a;      // 或 ptr = &a[0];

兩者等價,因 a 即 &a[0]。ptr 成為指向陣列 a 的指標變數。

指標表示陣列元素的三種等價形式

形式意義等價於
ptr + n第 n 個元素位址&a[n]
*(ptr + n)第 n 個元素值a[n]
ptr[n]第 n 個元素值*(ptr + n)

其中 n = 0~9。

範例 1:下標法輸入輸出

#include <stdio.h>
int main() {
    int n, a[10], *ptr = a;
    for (n = 0; n <= 9; n++)
        scanf("%d", &a[n]);
    printf("1------output!\n");
    for (n = 0; n <= 9; n++)
        printf("%4d", a[n]);
    printf("\n");
    return 0;
}

輸入:1234567890 → 輸出:1 2 3 4 5 6 7 8 9 0

範例 2:指標法輸入輸出

#include <stdio.h>
int main() {
    int n, a[10], *ptr = a;
    for (n = 0; n <= 9; n++)
        scanf("%d", ptr + n);      // 位址傳遞
    printf("2------output!\n");
    for (n = 0; n <= 9; n++)
        printf("%4d", *(ptr + n)); // 取值
    printf("\n");
    return 0;
}

結果相同。指標法更接近底層記憶體操作,理解指標運算本質有助於掌握 C 語言精髓。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved