怎么把二元数组传入子函数

 时间:2024-10-12 03:52:44

例程将简单示意如何在C语言中,将二元数组传入子函数

工具/原料

C语言编译器

一、正确的传入方式

1、在编写接收二元数组作为参数的子函数时,需要在函数形参列表中指定数组的两个维度,比如 void print_element(int a[2][2]);而不能只传入数组名,将两个维度信息空缺: void print_element(int a[][]); //This is wrong

2、这里是一个简单的传入二元数组并打印数组元素的例子:#include <stdio.h>void print_element(int a[2][2]){ for(int i = 0; i < 2; i++) for(int j = 0 ; j < 2; j++) printf("%d ", a[i][j]);}int main(void) { int a[2][2] = {1,2,3,4}; print_element(a); return 0;}

怎么把二元数组传入子函数

3、传入二元数组名作为子函数的参数后,子函数中对数组元素的操作实际上就是对内存中数组元素进行的操作,而不是子函数籽疙牢阖调用结束后原二元数组内容不发生改变。比如下面的程序中,在子函数中对数组元素进行更改,而主函数中,数组元素也发生了改变:#include <stdio.h>void change_element(int b[2][2]){ for(int i = 0; i < 2; i++) for(int j = 0 ; j < 2; j++) b[i][j]++;}int main(void) { int a[2][2] = {1,2,3,4}; change_element(a); for(int i = 0; i < 2; i++) for(int j = 0 ; j < 2; j++) printf("%d ", a[i][j]); return 0;}

怎么把二元数组传入子函数

二、错误传入示范

1、如果子函数没有在形参列表中指定数组的两稍僚敉视个维度,而是期望将两个维度信息按照变量单独传入,如 void print_element(int a[][], int d1, int d2); //This is wrong那么编译器会报错:error: declaration of ‘a’ as multidimensional array must have bounds for all dimensions except the firstvoid change_element(int a[][], int d1, int d2)意思就是说对于多维数组a,它的每个维度必须有边界限制,即需要传入维度大小。

怎么把二元数组传入子函数
怎么把二元数组传入子函数
  • 沉沦之心原神四件套作用
  • ArrayList如何求并集
  • 我的世界电脑版怎么联机?
  • 怎么使用pr制作变声器效果
  • 阴阳师怎么快速升到35级
  • 热门搜索
    家乡的手抄报 英语节日手抄报图片 拒绝垃圾食品手抄报 地震手抄报内容 小学生反邪教手抄报 竞选大队委手抄报 化学手抄报版面设计 轻声慢步手抄报内容 关于感恩的手抄报资料 小手拉大手手抄报画