一:数组元素作为函数的实参

数组元素就是变量,与普通变量没有区别,将数组元素传送给形参,实现单向的值传递。

#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语言数组作为函数参数相关推荐

  1. 四十七.c语言数组作为函数参数

    47.数组作为函数参数 变量可以当作参数,这里的数组也可以当作函数的参数. 数组可以由整个数组当作函数的参数,也可以由数组中的某个元素当作函数的参数: 1.整个数组当作函数参数,即把数组名称传入函数中 ...

  2. C语言 数组作为函数参数

    1.数组元素作为函数实参 int a[10];  //相当于定义了10个变量,a[0]~a[9],那么数组元素就是:a[0]~a[9],数组元素就可以当成变量使用. #include<stdio ...

  3. 【C 语言】结构体 ( 结构体 数组 作为函数参数 | 数组 在 堆内存创建 )

    文章目录 一.结构体 数组 作为函数参数 ( 数组 在 堆内存创建 ) 二.完整代码示例 一.结构体 数组 作为函数参数 ( 数组 在 堆内存创建 ) 在上一篇博客 [C 语言]结构体 ( 结构体 数 ...

  4. C语言多维数组做函数参数技术推演

    多维数组做函数参数技术 C语言中只会以机械式的值拷贝的方式传递参数(实参把值传给形参) 二维数组参数同样存在退化的问题 等价关系 C语言中只会以机械式的值拷贝的方式传递参数(实参把值传给形参) int ...

  5. 【C语言进阶深度学习记录】三十一 数组作为函数参数时退化为指针

    之前的学习数组的文章中,已经知道一维数组作为函数参数的时候,最终会被编译器编译为指针.今天来看看二维数组的情形 文章目录 1 为什么C语言中的数组作为函数参数会退化为指针? 2 二维数组作为函数参数如 ...

  6. c语言学习-自定义函数并调用将一个字符串中的小写字母改为大写字母(数组元素和数组名作函数参数)

    c语言自定义函数并调用将一个字符串中的小写字母改为大写字母(数组元素和数组名作函数参数) 程序流程图: 代码: #include<stdio.h> char strupr(char ch[ ...

  7. C语言 二维数组作为函数参数的4种方式

    前言 多维数组中,二维数组是最常用的一种.在C语言编程中,二维数组的定义.取值以及赋值都比较容易,与一维数组类似.然而,在将二维数组作为函数参数传递时,参数结构较复杂,难以理解.本文章是实用型文章,注 ...

  8. C语言 | 二维数组作为函数参数

    1024G 嵌入式资源大放送!包括但不限于C/C++.单片机.Linux等.关注微信公众号[嵌入式大杂烩],回复1024,即可免费获取! 偶然间发现C语言二维数组作为函数的参数是个比较容易出错的问题. ...

  9. c语言以数组作为函数参数,C语言将数组作为函数参数

    一个函数的形参是普通的局部变量.当发生函数调用时,程序创建这些形参,然后用对应的实参来初始化这些形参.形参的作用域就是函数块.函数内可以改变形参的值,而不会影响调用上下文中实参的值. 如果需要将一个数 ...

最新文章

  1. 解决使用RabbitTemplate操作RabbitMQ,发生The channelMax limit is reached. Try later.问题
  2. javascript,令人着迷了!
  3. android 之DatePicker以及TimePicker的用法
  4. vue pc端 商品轮播图_轮播图高点击商品图
  5. overridePendingTransition的简介
  6. 阻塞非阻塞和同步异步
  7. 项目拖太久的巨大风险
  8. P4172 [WC2006]水管局长 LCT维护最小生成树
  9. 普通二本院校的讲师可以不做科研吗?
  10. Spring源码学习笔记:Spring设计模式对比和Spring的OOB,BOP,AOP,IOC,DI/DL
  11. InvokeRequired和Invoke
  12. 点云:python版本的点云数据处理库
  13. BeX5安装遇到问题
  14. java毕向东学习笔记——day09
  15. Nobook虚拟实验室完爆各种传统实验室
  16. 【常用模块】电容触摸按键模块(原理讲解、STM32实例操作)
  17. XCode怎么搜索图片文件
  18. 在计算机网络拓扑结构中目前最常用的是,常用的计算机网络拓扑结构.docx
  19. 冯诺依曼计算机硬件系统,冯·诺依曼型计算机硬件组成
  20. gradle系列-1-gradle -x test clean build

热门文章

  1. Java PDF文档转换 — PDF转Excel、SVG转PDF
  2. 数据分析面试之统计的基础知识(持续更新)
  3. 养老金银行卡换号了,需要到社保中心更正吗?
  4. 鲸鱼游戏后端开发工程师职位面试过程回顾
  5. 李白饮酒--蓝桥杯原题改编(基于暴力) C++
  6. 微信小程序接口同步调用方法
  7. ORA-00911: 无效字符问题
  8. java简单的除法运算_Java除法运算的陷阱
  9. Java读取Excel表格中的数据并插入到数据库中
  10. 安卓使用外接扫码枪扫描一维码之后EditText失去焦点的问题