本文目录一览:
- 1、C语言中,调用函数的实参是数组名,被调用函数的形参可不可以是指针
- 2、在C语言中,用数组名作为函数调用时的实参,实际上传递给形参的是____________。
- 3、关于c语言中数组作为函数参数的函数之间调用问题
- 4、C语言的函数调用和数组,eg:void abd(int arr[])
- 5、为什么C语言中把一个数组传入函数中,在函数调用的时候只写数组名?
- 6、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);