您的位置:

c语言函数调用数组名,c语言中数组名

本文目录一览:

C语言中,调用函数的实参是数组名,被调用函数的形参可不可以是指针

可以。是数组也行,如:

void f1(int a[])

{

}

void f2(int *p)

{

}

int a[]={1,2,3};

f1(a);

f2(a);

在C语言中,用数组名作为函数调用时的实参,实际上传递给形参的是____________。

在C语言中,用数组名作为函数调用时的实参,实际上传递给形参的是首地址。

因为数组名传递的是数组的地址也就是第一个元素的地址。例如:

a[3]这个数组,3指个数,a[0]指第一个元素,全部元素指a[0]~a[2];那数组名a规定的就是首地址。

扩展资料

C语言中函数参数传递的三种方式:

1、传值,就是把你的变量的值传递给函数的形式参数,实际就是用变量的值来新生成一个形式参数,因而在函数里对形参的改变不会影响到函数外的变量的值。

2、传地址,就是传变量的地址赋给函数里形式参数的指针,使指针指向真实的变量的地址,因为对指针所指地址的内容的改变能反映到函数外,也就是能改变函数外的变量的值。

3、传引用,实际是通过指针来实现的,能达到使用的效果如传址,可是使用方式如传值。说几点建议:如果传值的话,会生成新的对象,花费时间和空间,而在退出函数的时候,又会销毁该对象,花费时间和空间。

关于c语言中数组作为函数参数的函数之间调用问题

1、新建一个数组作为参数项目,如图所示:

2、添加一个array.c文件,如图所示:

3、包含stdio.h和stdlib.h头文件,如图所示:

4、输入main函数主体及返回值,如图所示:

5、定义一个数组arr,如图所示:

6、定义一个function函数,如图所示:

7、将数组作为参数传递给function函数,如图所示:

8、运行程序,输出结果,如图所示:

C语言的函数调用和数组,eg:void abd(int arr[])

函数返回值类型:(void)也就是不需要返回值。

函数名:abd

函数参数:int型数组

这里调用的时候,需要给函数abd一个参数,可以是数组名,也可以是一个指向int数组的指针。

注意数组参数为数组,是传址,也就是说如果abd函数对arr形参操作会改变外部函数实参的值。

为什么C语言中把一个数组传入函数中,在函数调用的时候只写数组名?

例子int

num[3]

=

{10,

20,

30}

在内存是这样存储的

num

0000000a,00000014,0000001e

//16进制形式

你给起始地址函数,那函数就指向了num的地址,int规定了他是16位的,所以引用的时候,就可以按顺序引用了。

传入函数大多都有一个范围值,以确定作用数组多少元素,以上例子数3。

c语言怎么调用数组

c语言可以用数组元素的方法或指针的方法调用数组。

int a[100],i;

for(i=0;i100;i++)

scanf("%d",a[i]);

for(i=0;i100;i++)

printf("%d ",a[i]);

也可以:

int a[100],*p;

for(p=a;pa+100;p++)

scanf("%d",p);

for(p=a;pa+100;p++)

printf("%d ",*p);