跳至主要內容

数组

酷丁2025年2月11日小于 1 分钟

二维数组指针访问

#include <stdio.h>  // 引入标准输入输出库

void fun(int (*p)[3])  // 函数参数是指向数组的指针
{
    int a[2][3] = {10, 20, 30, 40, 50, 60};  // 定义一个2x3的二维数组
    p = a;  // p指向二维数组a的首地址
    printf("%d\n", a[1][2]);  // 输出a[1][2],即60
    printf("%d\n", *(*(a+1)+2));  // 等价于a[1][2],输出60
    printf("%d\n", *(a[1]+2));  // 等价于a[1][2],输出60
}

int main() {
    int (*p)[3];  // 声明一个指向数组的指针,数组有3个int元素
    fun(p);  // 调用函数fun
    return 0;
}