int (*ptr)[M];
選項:
ptr 是標識符。*ptr 表示 ptr 是一個指針。(*ptr)[M] 表示 ptr 指向一個長度為 M 的數組。int (*ptr)[M] 表示該數組元素類型為 int。選項 C 正確:ptr 是一個指向「包含 M 個整型元素的一維數組」的指針,常用於二維數組行指針或動態分配二維數組。
| 聲明 | 含義 |
|---|---|
int *ptr[M]; | 指針數組:M 個指向 int 的指針 |
int (*ptr)[M]; | 數組指針:指向包含 M 個 int 的數組 |
int (*ptr)(M); | 函數指針:指向參數為 int、返回 int 的函數 |
int arr[3][4];
int (*ptr)[4] = arr; // ptr 指向 arr 的第一行(含 4 個 int)
ptr++; // 指向第二行,地址增加 4*sizeof(int)