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

C 語言指標進階:指標陣列與字串管理實戰

     編輯:關於C語言

指標陣列定義

陣列元素皆為指標型別,稱為指標陣列。語法:型別 *陣列名[常數運算式]。例:int *x[10] 為 10 個指向 int 的指標陣列。32 位元系統下每指標 4 位元組,陣列總大小 40 位元組。

主要用途:管理字串集合

指標陣列最常見應用是儲存多字串的首地址,而非字串內容本身。

記憶體佈局圖解

指標陣列記憶體佈局 字串常數區實際儲存

aString 陣列儲存 3 個指標(各 4 位元組),分別指向常數區的 3 個字串字面值(依序緊鄰儲存)。

關鍵對比:指標陣列 vs 二維字元陣列

char *aStringA[] = { "Im not afraid...", "Well walk...", "Whatever..." };
char aStringB[][60] = { "Im not afraid...", "Well walk...", "Whatever..." };
特性指標陣列 aStringA二維陣列 aStringB
字串儲存區常數區(唯讀)堆疊區(可修改)
陣列大小12 位元組(3×指標)180 位元組(3×60)
存取速度雙重間接,稍慢單次計算位移,極快
元素交換交換指標,極快需複製整字串,慢
長度彈性不定長,適合變長字串定長,浪費空間或截斷

選擇指南

  • 需頻繁排序、交換字串、字串長度差異大 → 指標陣列。
  • 需高速隨機存取、字串長度固定、需修改字串內容 → 二維陣列。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved