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

C 語言指標陣列:每個元素都是指標的陣列

     編輯:C 語言基礎

若陣列所有元素皆為指標,稱為指標陣列。定義形式:

資料類型 *陣列名[長度];

[] 優先級高於 *,理解為 資料類型 *(陣列名[長度]):陣列名 是陣列,含 長度 個元素,每個元素類型為 資料類型*。

基本範例:整數指標陣列

#include <stdio.h>
int main() {
    int a = 16, b = 932, c = 100;
    int *arr[3] = {&a, &b, &c};
    int **parr = arr; // 指向指標陣列的指標

    printf("%d, %d, %d\n", *arr[0], *arr[1], *arr[2]);
    printf("%d, %d, %d\n", **(parr+0), **(parr+1), **(parr+2));
    return 0;
}

parr 為二級指標,指向 arr 首元素(類型 int*),故定義需兩顆星號。

字串指標陣列:經典應用

#include <stdio.h>
int main() {
    char *str[3] = {
        "c.biancheng.net",
        "C語言中文網",
        "C Language"
    };
    printf("%s\n%s\n%s\n", str[0], str[1], str[2]);
    return 0;
}

注意: 陣列儲存字串首地址,字串實體位於其他記憶體區域(常數區)。僅當元素類型為 char* 時可直接用字串字面值初始化。

等價展開形式

char *str0 = "c.biancheng.net";
char *str1 = "C語言中文網";
char *str2 = "C Language";
char *str[3] = {str0, str1, str2};

指標陣列是構建字串表、命令表、虛函數表等結構的基礎工具。

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