C语言数组作为函数参数
一:数组元素作为函数的实参
数组元素就是变量,与普通变量没有区别,将数组元素传送给形参,实现单向的值传递。
#include <stdio.h>
float max(float x,float y){if(x > y)return x;elsereturn y;
}
int main(){int a[6] = {3,2,1,4,9,0};int m = a[0];for(int i = 1;i < 6; i ++){m = max(m,a[i]);}printf("数组中的最大元素是:%d",m);
}
二:数组名作为函数的实参
实质是地址的传递,将数组的首地址传给形参,形参和实参共用同一存储空间,形参的变化就是实参的变化。
#include <stdio.h>
void sort(int b[],int n){for(int i = 0; i < n - 1; i ++)for(int j = 0; j < n-i-1; j ++)if(b[j] > b[j+1]){int temp;temp = b[j];b[j] = b[j+1];b[j+1] = temp;}
}
int main(){int a[10];printf("请输入数组的元素:");for(int i = 0;i < 10; i ++){scanf("%d",&a[i]);}printf("排序后的数组顺序是:");sort(a,10);for(int i = 0; i < 10; i++){printf("%d ",a[i]);}
}
三:二维数组名作为函数参数
第一维的大小可以不指定,第二维的大小必须指定。实参传送的是二维数组的首地址,使得二维数组a与b共用同一存储单元,即a[0][0]与b[0][0]共用同一存储单元,a[0][1]与b[0][1]共用同一存储单元。
#include <stdio.h>
//b[3][4]也正确
int max(int b[][4]){int max1 = b[0][0];for(int i = 0; i < 3; i ++)for(int j = 0; j < 4; j ++)if(b[i][j] > max1){max1 = b[i][j];}return max1;
}
int main(){int a[3][4] = {5,16,30,40,23,4,123,8,1,3,50,37};int m = max(a);printf("max is %d", m);
}
C语言数组作为函数参数相关推荐
- 四十七.c语言数组作为函数参数
47.数组作为函数参数 变量可以当作参数,这里的数组也可以当作函数的参数. 数组可以由整个数组当作函数的参数,也可以由数组中的某个元素当作函数的参数: 1.整个数组当作函数参数,即把数组名称传入函数中 ...
- C语言 数组作为函数参数
1.数组元素作为函数实参 int a[10]; //相当于定义了10个变量,a[0]~a[9],那么数组元素就是:a[0]~a[9],数组元素就可以当成变量使用. #include<stdio ...
- 【C 语言】结构体 ( 结构体 数组 作为函数参数 | 数组 在 堆内存创建 )
文章目录 一.结构体 数组 作为函数参数 ( 数组 在 堆内存创建 ) 二.完整代码示例 一.结构体 数组 作为函数参数 ( 数组 在 堆内存创建 ) 在上一篇博客 [C 语言]结构体 ( 结构体 数 ...
- C语言多维数组做函数参数技术推演
多维数组做函数参数技术 C语言中只会以机械式的值拷贝的方式传递参数(实参把值传给形参) 二维数组参数同样存在退化的问题 等价关系 C语言中只会以机械式的值拷贝的方式传递参数(实参把值传给形参) int ...
- 【C语言进阶深度学习记录】三十一 数组作为函数参数时退化为指针
之前的学习数组的文章中,已经知道一维数组作为函数参数的时候,最终会被编译器编译为指针.今天来看看二维数组的情形 文章目录 1 为什么C语言中的数组作为函数参数会退化为指针? 2 二维数组作为函数参数如 ...
- c语言学习-自定义函数并调用将一个字符串中的小写字母改为大写字母(数组元素和数组名作函数参数)
c语言自定义函数并调用将一个字符串中的小写字母改为大写字母(数组元素和数组名作函数参数) 程序流程图: 代码: #include<stdio.h> char strupr(char ch[ ...
- C语言 二维数组作为函数参数的4种方式
前言 多维数组中,二维数组是最常用的一种.在C语言编程中,二维数组的定义.取值以及赋值都比较容易,与一维数组类似.然而,在将二维数组作为函数参数传递时,参数结构较复杂,难以理解.本文章是实用型文章,注 ...
- C语言 | 二维数组作为函数参数
1024G 嵌入式资源大放送!包括但不限于C/C++.单片机.Linux等.关注微信公众号[嵌入式大杂烩],回复1024,即可免费获取! 偶然间发现C语言二维数组作为函数的参数是个比较容易出错的问题. ...
- c语言以数组作为函数参数,C语言将数组作为函数参数
一个函数的形参是普通的局部变量.当发生函数调用时,程序创建这些形参,然后用对应的实参来初始化这些形参.形参的作用域就是函数块.函数内可以改变形参的值,而不会影响调用上下文中实参的值. 如果需要将一个数 ...
最新文章
- 解决使用RabbitTemplate操作RabbitMQ,发生The channelMax limit is reached. Try later.问题
- javascript,令人着迷了!
- android 之DatePicker以及TimePicker的用法
- vue pc端 商品轮播图_轮播图高点击商品图
- overridePendingTransition的简介
- 阻塞非阻塞和同步异步
- 项目拖太久的巨大风险
- P4172 [WC2006]水管局长 LCT维护最小生成树
- 普通二本院校的讲师可以不做科研吗?
- Spring源码学习笔记:Spring设计模式对比和Spring的OOB,BOP,AOP,IOC,DI/DL
- InvokeRequired和Invoke
- 点云:python版本的点云数据处理库
- BeX5安装遇到问题
- java毕向东学习笔记——day09
- Nobook虚拟实验室完爆各种传统实验室
- 【常用模块】电容触摸按键模块(原理讲解、STM32实例操作)
- XCode怎么搜索图片文件
- 在计算机网络拓扑结构中目前最常用的是,常用的计算机网络拓扑结构.docx
- 冯诺依曼计算机硬件系统,冯·诺依曼型计算机硬件组成
- gradle系列-1-gradle -x test clean build