首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C语言:数组作为函数参数(数组元素做实参,数组名称做形参)

C语言:数组作为函数参数(数组元素做实参,数组名称做形参)

作者头像
岳泽以
发布于 2022-10-26 08:10:52
发布于 2022-10-26 08:10:52
3.2K00
代码可运行
举报
文章被收录于专栏:岳泽以博客岳泽以博客
运行总次数:0
代码可运行

数组元素的值做实参

数组元素作为实参时,将数组元素的值传递给形参,传递的方向是从实参向形参的单向值传递。

例:编写函数求一维数组的最大值。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include<stdio.h>
int main(){
    int max(int a,int b);
    int a[]={2,5,12,78,3,5,78,34,10,9};
    int m=a[0];
    for(int i=0;i<=9;i++){
        if(max(m,a[i])>m)m=a[i];}
    printf("max=%d",m);
    return 0; 
}
int max(int a,int b){
    return a>b?a:b;
}

数组名称做形参

当数组作为形参时,虽然形式上还是数组,比如void sort(int arr[ ]),但是并不意味着真正建立了一个包含和实参数组大小相同的数组,在调用函数时也不对它分配存储单元,只是用array[ ]这样的数组形式表示array是一维数组名,来接收实参传来的地址,因此array中的方括号的数值并无实际作用,编译器对数组维度进行忽略。

例:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#include<stdio.h>
int main(){
    void fun(int a[]);
    int a[]={1,2,3,4,5,6,7,8,9,10};
    fun(a);
    for(int i=0;i<=9;i++){
        printf("%3d",a[i]); 
    }
    return 0;
}
void fun(int a[]){
    for(int i=0;i<=9;i++)
    a[i]=a[i]+10; 
}

注意

  • 用数组元素做实参时,向形参变量传递的是数组元素的值
  • 用数组名做函数实参时,向形参传递的是数组首元素的地址。
  • 数组名作为函数实参传递时,函数定义处作为接收参数的数组类型形参既可以指定长度也可以不指定长度。
  • 数组元素作为函数实参传递时,数组元素类型必须与形参数据类型一致
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021 年 04 月,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C语言数组作为函数参数-学习十九
本文最后更新于2022年02月13日,已超过15天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
XG.孤梦
2022/03/01
1.9K0
C语言数组作为函数参数-学习十九
C语言 | 函数参数
以上,如果你看了觉得对你有所帮助,就给小林点个赞,分享给身边的人叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~
小林C语言
2021/04/15
2.9K0
C语言 | 函数参数
C语言数组作为函数参数「建议收藏」
实质是地址的传递,将数组的首地址传给形参,形参和实参共用同一存储空间,形参的变化就是实参的变化。
全栈程序员站长
2022/09/08
2.4K0
C语言入门系列之7.函数的定义、参数、调用和存储类别
一个较大的程序可分为若干个程序模块,每一个模块用来实现一个特定的功能。 在高级语言中用子程序实现模块的功能,子程序由函数来完成。 一个C程序可由一个主函数和若干个其他函数构成。
cutercorley
2020/07/23
1.9K0
C语言入门系列之7.函数的定义、参数、调用和存储类别
C++数组名作函数参数 | 求3*4矩阵中最大的值
C++中实参可以是表达式,而数组元素可以是表达式的组成部分,因此数组元素可以作为函数的实参,与用变量作实参一样,将数组元素的值传送给形参变量。
小林C语言
2020/12/01
1.7K0
C++数组名作函数参数 | 求3*4矩阵中最大的值
[C语言] 函数实参与形参详解
实参(实际参数)是在函数调用时传递给函数的值或表达式。它们是函数执行所需的具体数据。在调用函数时,实参被放置在函数名后面的括号内,实参可以是变量、常量,或者更复杂的表达式。
DevKevin
2024/10/12
3530
函数(四)(数组作为函数参数)
一是数组元素作为函数参数,这种情况下与简单变量作为函数的参数完全一样,数组元素的值被单向传递给形参变量。
pigeon
2022/04/11
1.9K0
函数(四)(数组作为函数参数)
C语言——函数(1)
函数事实上是从英文function翻译过来的,从英文也可以看出来函数是用来实现一定的功能的,C语⾔中的函数就是⼀个完成某项特定的任务的⼀⼩段代码,就相当于一个小的程序来实现所需要完成的功能,一个个小的程序组装在一起就可以实现总任务。⼀个⼤的计算任务可以分解成若⼲个较 ⼩的函数(对应较⼩的任务)完成。同时⼀个函数如果能完成某项特定任务的话,这个函数也是可以 复⽤的,提升了开发软件的效率。
用户11352420
2024/11/07
1800
C语言——函数(1)
全国二级C知识点总结5-函数
l C源程序是由函数组成的,函数由函数首部与函数体组成,函数体包括声明部分和执行语句部分组成。
用户6755376
2019/11/21
2.2K0
C语言多维数组与指针-学习二十四
本文最后更新于2022年02月19日,已超过8天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!
XG.孤梦
2022/03/01
4550
C语言多维数组与指针-学习二十四
C语言 | 指针引用数组
指针变量既可以指向变量,也可以指向数组元素,所谓数组元素的指针就是数组元素的地址。
小林C语言
2021/04/22
2.1K0
C语言 | 指针引用数组
C:数组传参的本质
关于sz1 = 10;的结果我们都清楚,sizeof(arr)求得数组的总大小,sizeof(arr[0])求得数组首元素的大小,然后得出元素个数,但是为什么在test函数内部求得的元素个数结果变为1了呢?
LonlyMay
2024/10/21
2290
C:数组传参的本质
开讲啦:Chap 07 用函数实现模块化程序设计
在设计一个较大的程序时,往往把它分为若干个程序模块,每一个模块包含一个或多个函数,每个函数实现一个特定的功能。一个C程序可由一个主函数和若干个其他函数构成。由主函数调用其他函数,其他函数也可以互相调用,同一个函数可以被一个或多个函数调用任意多次,如图所示。
石璞东
2021/10/13
5960
C语言入门系列之8.指针的概念与应用
指针是C语言中的一个重要的概念,也是C语言的一个重要特色。 正确而灵活地运用它,可以有效地表示复杂的数据结构;能动态分配内存;能方便地使用字符串;有效而方便地使用数组等。 掌握指针的应用,可以使程序简洁、紧凑、高效。可以说,不掌握指针就是没有掌握C的精华。
cutercorley
2020/07/23
1.5K0
C语言入门系列之8.指针的概念与应用
开讲啦:Chap 08 善于利用指针
如果在程序中定义了一个变量,在对程序进行编译时,系统就会给这个变量分配内存单元,编译系统根据程序中定义的变量类型,分配一定长度的空间,内存区的每一个字节有一个编号,这就是地址,它相当于旅馆中的房间号,在地址所标志的内存单元中存放的数据则相当于旅馆房间中居住的旅客。我们将地址形象化为指针,即通过它能找到以它为地址的内存单元。
石璞东
2021/10/13
5230
C语言——指针(2)
前面我们已经了解了指针的基本概念以及简单的使用,那么什么问题一定要使用指针解决呢?
用户11352420
2024/11/07
3190
C语言——指针(2)
7.3 C语言数组作为函数参数
2、用数组元素作实参时,向形参变量传递的是数组元素的值,而用数组名作函数实参时,向形参传递的是数组首元素的地址。
小林C语言
2020/12/07
3.1K0
7.3 C语言数组作为函数参数
C语言中的指针详解
计算机系统的内存拥有大量的存储单元,每个存储单元的大小为1字节,为了便于管理,必须为每个存储单元编号,该编号就是存储单元的“地址”,每个存储单元拥有一个唯一的地址。
越陌度阡
2021/11/09
3.7K0
c语言从入门到实战——基于指针的数组与指针数组
基于指针的数组(Array of Pointers)和指针数组(Pointer to Array)是两种常见的C/C++语言中的数据结构,它们在内存布局和使用方式上有所不同。
鲜于言悠
2024/03/20
3990
c语言从入门到实战——基于指针的数组与指针数组
C语言之函数与参数
函数有时翻译为子程序。C语言中的函数就是一个完成某项特定任务的一小段代码。这段代码是有特殊的写法和调用方法的。C语言的程序其实是由无数个小的函数组合而成,也可以说:应该大的计算任务可以分解成若干个较小的函数完成。同时,一个函数如果能完成某项特定任务的话,这个函数也是可以复用的,提升了开发软件的效率。
用户11328191
2024/10/23
2310
C语言之函数与参数
相关推荐
C语言数组作为函数参数-学习十九
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验