C言語の2次元配列ポインタの使い方は何ですか?

C言語では、2次元配列はポインタを使ってアクセスや操作ができます。ただし、2次元配列を指すポインタは実際にはポインタを指すポインタです。

二次元配列ポインタを使用した一般的な操作例を以下に示す:

  1. 二次元配列ポインタの宣言と初期化:
int arr[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
int (*ptr)[4];  // 定义一个指向包含4个元素的一维数组的指针
ptr = arr;  // 将指针指向二维数组的第一行
  1. 二次元配列ポインタを使って配列要素にアクセスする:
int value = ptr[1][2];  // 访问第二行第三列的元素,即7
  1. 二次元配列を操作するためにポインターアリスメティックを使用する。
int i, j;
for (i = 0; i < 3; i++) {
    for (j = 0; j < 4; j++) {
        printf("%d ", *(*(ptr + i) + j));  // 输出二维数组的所有元素
    }
    printf("\n");
}
  1. 関数に二次元配列をポインターを使って渡す。
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言語の二次元配列ポインタを理解し、使用するのに役立つことを願っています。

bannerAds