【C语言】二维数组:定义与传参

1、定义二维数组

1.1 直接定义:int a10012

复制代码
int array[1001][2];

1.2 使用普通数组的指针

复制代码
int (*array)[2]; // 定义一个指向有两个元素的数组的指针
array = malloc(1001 * sizeof(int[2])); // 动态分配大小为[1001][2]的内存

1.3 使用双重指针

复制代码
int **array; // 定义一个二级指针
array = malloc(1001 * sizeof(int *)); // 为每一行分配指针
for (int i = 0; i < 1001; i++) {
    array[i] = malloc(2 * sizeof(int)); // 为每一行的列分配内存
}

2、二维数组传参

2.1 固定大小的二维数组作为参数

复制代码
void myFunction(int array[1001][2]) {
    // 处理二维数组
}

void myFunction(int array[][2]) {
    // 处理二维数组
}

int array[1001][2];
myFunction(array); // 传递二维数组

2.2 使用指向数组的指针作为参数

复制代码
void myFunction(int (*array)[2]) {
    // 处理二维数组
}

int array[1001][2];
myFunction(array); // 传递二维数组
相关推荐
小肝一下1 小时前
7. 库制作与原理
linux·c语言·操作系统·bash·shell·动静态库
春生野草1 小时前
C基础--八大排序(个人笔记)
c语言·笔记·排序算法
IT方大同2 小时前
C语言分支与循环语句
c语言·开发语言·算法
呜喵王阿尔萨斯3 小时前
C/C++ const -- 多义混乱
c语言·开发语言·c++
人邮异步社区16 小时前
怎么把C语言学到精通?
c语言·开发语言
xiaobobo333021 小时前
C语言中宏定义宏名和宏值之间的关系
c语言·宏定义·语义型
a4493153621 天前
MacBook USB-C不充电故障诊断:从PD握手到主板供电链路
c语言·开发语言·macos·电脑
a4493153621 天前
iPhone 充电故障的全链路诊断——从 Lightning/USB-C 接口到 Tristar 充电 IC
c语言·macos·ios·电脑·硬件架构·iphone
qq_448011161 天前
C语言中的getchar()
c语言·开发语言
天空'之城1 天前
C 语言工业级通用组件手写 15:累加和校验
c语言·嵌入式开发·工业级组件·累加和校验