c语言中多维数组的传递
接收多维数组的函数,可以省略相当于开头下标的n维数组的个数,但是,(n - 1)维下的的元素个数必须是常量。
实质上是多维数组在传递过程中,最高维上表示元素个数是可变的,最高维之后的元素类型是不可变得,比如 int x[][3][2], 元素个数是可变得,而int [3][2]型是固定的。
定义函数的时候,数组作为参数传递的最高维的元素个数可以省略。
001、
[root@PC1 test]# ls test.c [root@PC1 test]# cat test.c ## 测试c程序 #include <stdio.h> void print_array(const int x[][3], int y); // 函数原型声明,多维数组的传递 int main(void) { int a[2][3] = {{2,4,3},{4,3,2}}; int b[4][3] = {{2,2,1},{2,4,3},{7,9,4},{4,2,8}}; print_array(a,2); puts("--------------------------------------"); print_array(b,3); return 0; } void print_array(const int x[][3], int y) //函数定义,多维数组的传递,可以省略最高位的数组元素的个数 { int i,j; for(i = 0; i < y; i++) { for(j = 0; j < 3; j++) { printf("%4d", x[i][j]); } putchar('\n'); } } [root@PC1 test]# gcc test.c -o kkk ## 编译 [root@PC1 test]# ls kkk test.c [root@PC1 test]# ./kkk ## 运算测试 2 4 3 4 3 2 -------------------------------------- 2 2 1 2 4 3 7 9 4
。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
2023-11-21 如何在word方框内打v_如何在word方框内打v
2021-11-21 R语言中which函数的简单用法,主要用于返回指定条件项的索引
2021-11-21 linux 系统中sed预存储技术 示例
2021-11-21 正则表达式通配符 + 和 * 的区别
2021-11-21 linux系统中同时提取多个文件的前几行并合并为新文件
2021-11-21 linux系统中添加空行
2021-11-21 linux系统中正则表达式记录