首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C 語言指標進階:二維字元指標 char **p 的意義與應用

     編輯:程式設計疑難解答

定義

char **p 是「指向 char* 的指標」,常用於儲存字串陣列(即 char*[])。

典型應用

char *strArray[] = {"Apple", "Banana", "Cherry"};
char **p = strArray; // p 指向首元素地址

for (int i = 0; i < 3; i++) {
    printf("%s\n", p[i]); // 等價於 *(p+i)
}

動態配置字串陣列

char **p = malloc(n * sizeof(char*));
for (int i = 0; i < n; i++) {
    p[i] = malloc(len * sizeof(char));
    strcpy(p[i], "some string");
}
// 使用完畢需逐個 free(p[i]) 再 free(p)

注意

  • char **p 與 char p[][MAX_LEN] 不同,前者為指標陣列,每行長度可變;後者為固定寬度二維陣列。
  • 函數參數傳遞字串陣列時,常用 char **argv 或 char *argv[]。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved