c语言二阶指针
二阶指针(double pointer)在C语言中是指指向指针的指针。二阶指针常常用于动态分配二维数组,或者用于修改其他指针的值。
以下是一个使用二阶指针创建和修改二维数组的示例:
c#include <stdio.h>
#include <stdlib.h>
int main() {
    int **array2D;  // 二阶指针,指向一个整型指针的数组
    int rows = 5, cols = 3// 假设有5行3列的二维数组
    // 动态分配二维数组
    array2D = (int **)malloc(rows * sizeof(int *));
    for(int i = 0; i < rows; i++) {
        array2D[i] = (int *)malloc(cols * sizeof(int));
    }
    // 使用二阶指针访问和修改二维数组的元素
    for(int i = 0; i < rows; i++) {
        for(int j = 0; j < cols; j++) {
            array2D[i][j] = i * cols + j;  // 初始化元素值
        }
    }
    // 打印二维数组的元素
    for(int i = 0; i < rows; i++) {
        for(int j = 0; j < cols; j++) {
            printf("%d ", array2D[i][j]);
        }
        printf("\n"怎么定义二维数组c语言);
    }
    // 释放动态分配的内存
    for(int i = 0; i < rows; i++) {
        free(array2D[i]);
    }
    free(array2D);
    return 0;
}
在上述代码中,我们首先定义了一个二阶指针 array2D,然后使用 malloc 为每一行分配内存,使得 array2D[i] 指向一个包含 cols 个整数的数组。然后,我们使用 array2D[i][j] 来访问和修改二维数组的元素。最后,我们释放了动态分配的内存。