2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > C语言中数组作为函数的形参

C语言中数组作为函数的形参

时间:2023-05-08 10:13:29

相关推荐

C语言中数组作为函数的形参

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

前言一、形如:数组名[个数]二、形如:*数组名1.引入库总结

前言

C语言中,一维数组作为参数的几种传递方式

提示:以下是本篇文章正文内容,下面案例可供参考

一、形如:数组名[个数]

代码如下(示例):

#include <stdio.h>#include <stdlib.h>void print_array_size(int a[]){int n;n = sizeof(a) / sizeof(a[0]);printf("print array n = %d ", n);printf("\n");}void print_array_size1(int a[5]){int n;n = sizeof(a) / sizeof(a[0]);printf("print array2 n = %d ", n);printf("\n");}int main(void){int a[] = {5, 6, 8, 1, 5, 3, 9 };int i = 0, j = 0, n;n = sizeof(a) / sizeof(a[0]);//n=7printf("n = %d\n", n);print_array_size(a);//n=1print_array_size1(a);//n=1system("pause");return 1;}

当数组作为函数参数时时,数组形参退化为指针,其中[个数]不写或者任意大于0的数,结果都一样

二、形如:*数组名

1.引入库

代码如下(示例):

#include <stdio.h>#include <stdlib.h>void print_array_size(int *a){int n;n = sizeof(a) / sizeof(a[0]);printf("print array n = %d ", n);printf("\n");}int main(void){int a[] = {5, 6, 8, 1, 5, 3, 9 };int i = 0, j = 0, n;n = sizeof(a) / sizeof(a[0]);//n=7printf("n = %d\n", n);print_array_size(a);//n=1system("pause");return 1;}

总结

不管是数组还是指针方式作为函数的行参,实质上都是作为指针传递,为什么都要用指针呢?高效!如果是用数组传递的话,那就需要copy数组对应大小的数据,而用指针传递时,只需要copy一个指针就可以了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。