【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); // 传递二维数组
相关推荐
Aurorar0rua4 小时前
CS50 x 2024 Notes Arrays - 04
c语言·开发语言·学习方法
wuminyu4 小时前
Java世界中StringTable源码剖析
java·linux·c语言·jvm·c++
安之若素a4 小时前
Java读写XML?DOM4J一出,谁与争锋
文档·节点·定义
Navigator_Z4 小时前
LeetCode //C - 1095. Find in Mountain Array
c语言·算法·leetcode
dnbug Blog6 小时前
C程序 基本语法
c语言·基本语法
AI科技星7 小时前
数术工坊・八卷全书(番外・实战升华副卷)【终极典藏定稿|完整无删减】
c语言·开发语言·网络·量子计算·agi
LuminousCPP7 小时前
数据结构 - 单链表第一篇:单链表基础操作
c语言·数据结构·经验分享·笔记·学习
WL学习笔记7 小时前
通讯录(顺序表实现)
c语言·数据结构·算法
不会C语言的男孩7 小时前
Linux 系统编程 · 第 1 章:Linux 系统概述
c语言·开发语言
2601_951645747 小时前
C语言环境搭建指南
c语言·编译器·开发环境·helloworld·集成开发环境