C语言数组作为函数参数「建议收藏」

C语言数组作为函数参数「建议收藏」一:数组元素作为函数的实参数组元素就是变量,与普通变量没有区别,将数组元素传送给形参,实现单向的值传递。#include<stdio.h>floatmax(floatx,floaty){ if(x>y) returnx; else returny;}intmain(){ inta[6]={3,2,1,4,9,0}; intm…

大家好,又见面了,我是你们的朋友全栈君。

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

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

#include <stdio.h>
float max(float x,float y){
	if(x > y)
	return x;
	else
	return 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);
}

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/157348.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 验证市场可行性(PMF)的5个步骤[通俗易懂]

    验证市场可行性(PMF)的5个步骤[通俗易懂]在增长黑客的理念中,一切的“猜想”和“创意”都是需要经过验证的,用事实来证明猜想和创意是否可行,这其实也是增长黑客的特质之一,将所有不可量化的东西转化为可量化的评估标准。比如如何证明你的创意能够成功呢?验证PMF的其中一个标准是调研你的用户,如果40%的核心用户认为缺了你的产品会很遗憾,而不是可有可无,那么这就说明找到了P/MF;PMF到底是什么呢?你可以理解为一个指标,例如40%的用户认为没…

    2022年5月23日
    47
  • 进程调度原理「建议收藏」

    进程调度原理「建议收藏」 Linux进程调度的目标    1.高效性:高效意味着在相同的时间下要完成更多的任务。调度程序会被频繁的执行,所以调度程序要尽可能的高效;    2.加强交互性能:在系统相当的负载下,也要保证系统的响应时间;    3.保证公平和避免饥渴;    4.SMP调度:调度程序必须支持多处理系统;    5.软实时调度:系统必须有效的调用实时进程,但不保证一定满足其要求;Lin…

    2022年9月29日
    5
  • 多封装,少开放。强烈建议C++标准添加class之间的注入机制「建议收藏」

    多封装,少开放。强烈建议C++标准添加class之间的注入机制

    2022年1月31日
    43
  • 黑盒测试 因果图_黑盒测试的六种方法

    黑盒测试 因果图_黑盒测试的六种方法在一个功能模块中往往含有许多的功能模块,如果单独去测试每一个模块则会显得事倍功半,并且逻辑也会比较混乱,容易遗漏一些数据。因果图法是一个比较有用的方法,其考虑到了输入数据之间以及输入与输出之间的各种关系。一、下面首先介绍因果图中的基本符号 1、恒等含义:若原因出现则结果也出现,原因不出现,结果也不出现。即:如a=1.则b=1; a=0,则b=0。2、非(~)含

    2022年9月1日
    5
  • web.xml配置contextConfigLocation[通俗易懂]

    web.xml配置contextConfigLocation[通俗易懂]web.xml中classpath:和classpath*:  有什么区别? classpath:只会到你的class路径中查找找文件; classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找. 有时候会用模糊匹配的方式配置多配置文件。但是如果配置文件是在jar包里,模糊匹配就找不到了。可以用逗号隔开的方式配置多个配置文件

    2022年7月14日
    18
  • 热插拔——矿机先行利器[通俗易懂]

    热插拔——矿机先行利器[通俗易懂]IPFSFilecoin上线在即,准备挖矿的小伙伴们已近磨刀霍霍了,都在积极选择自己心仪的矿机。但是如今市场上矿机众多,对于矿机的配置也是众说纷纭,相信许多的小伙伴也是十分茫然,当然,星际魔方今天只谈专业IPFS矿机,家用电脑组装的矿机我们后期再谈。工欲善其事,必先利其器。Fliecoin挖矿就是一种优质资源竞争的行为。形象理解就类似于嘀嘀打车,一个人想去另一个地方,在滴滴下单,司机开始抢单…

    2025年11月10日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号