C言語の2次元配列ポインタの使い方は何ですか?
C言語では、2次元配列はポインタを使ってアクセスや操作ができます。ただし、2次元配列を指すポインタは実際にはポインタを指すポインタです。
二次元配列ポインタを使用した一般的な操作例を以下に示す:
- 二次元配列ポインタの宣言と初期化:
int arr[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int (*ptr)[4]; // 定义一个指向包含4个元素的一维数组的指针
ptr = arr; // 将指针指向二维数组的第一行
- 二次元配列ポインタを使って配列要素にアクセスする:
int value = ptr[1][2]; // 访问第二行第三列的元素,即7
- 二次元配列を操作するためにポインターアリスメティックを使用する。
int i, j;
for (i = 0; i < 3; i++) {
for (j = 0; j < 4; j++) {
printf("%d ", *(*(ptr + i) + j)); // 输出二维数组的所有元素
}
printf("\n");
}
- 関数に二次元配列をポインターを使って渡す。
void printArray(int (*arr)[4], int rows, int cols) {
int i, j;
for (i = 0; i < rows; i++) {
for (j = 0; j < cols; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
int main() {
int arr[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
printArray(arr, 3, 4);
return 0;
}
希望この例があなたがC言語の二次元配列ポインタを理解し、使用するのに役立つことを願っています。