首页 > 试题广场 > 数组作为函数参数传递的是()。
[单选题]

数组作为函数参数传递的是()

  • 数组的首地址
  • 数组元素个数
  • 数组中各元素值
  • 数组的大小
推荐
A。考察的是数组传递给函数作为参数的原理。
传递方式如下三种每种方式都会告诉编译器要接收一个指针,及数组的地址(首元素地址)
void myFunction(int *param)
{
    //形式参数是一个指针
}

void myFunction(int param[10])
{
    //形式参数是一个已定义大小的数组
}

void myFunction(int param[])
{
    //形式参数是一个未定义大小的数组
}

编辑于 2019-11-15 14:47:34 回复(0)

A

首先,B,C只能用sizeof
int a[100];
cout<<sizeof(a);
而在函数中修改数组会保留
eg:
#include<cstdio>
using namespace std;
void change(int *x)//或(int a[10])或(int a[])
{
	x[1]=1;
        x[2]=1;
}
int main()
{
	int a[10]={0};
	change(a);
	printf("%d %d",a[1],a[2]);
	return 0;
}
输出:1 1
故一定是传首地址(由“int *x”也可得)
编辑于 2019-11-14 19:05:40 回复(1)
A
发表于 2019-11-15 12:52:01 回复(0)
A
数组名就是数组的首地址。因此在数组名作函数参数时所进行的传送只是地址的传送,也就是说把实参数组的首地址赋予形参数组名
形参数组名取得该首地址之后,也就等于有了实在的数组。实际上是形参数组和实参数组为同一数组,共同拥有一段内存空间。
发表于 2019-11-14 15:48:51 回复(0)
A 数组名代表数组的首地址
发表于 2019-11-14 17:39:37 回复(0)
a首地址
发表于 2019-11-14 14:22:13 回复(0)