C++选择题数组名作为函数的参数传递的是(?),请举例分析为什么?

2024-11-25 02:42:37
推荐回答(3个)
回答1:

答案是B;
int a[5] = {1,2,3,4,5};
a就是数组名,也是a[5]的第一个元素即a[0]的地址。
#include
int add(int b[])
{
int n = 0, i;
for(i = 0; i < 5; i++)
n += b[i];
retunr n;
}
int main(void)
{
int sum;
int a[5] = {1,2,3,4,5};
sum = add(a);
}
add(a)这里传递的就是数组a的首地址,也就是数组名。

回答2:

B、数组首元素的地址void fun(char b[]);在函数内部你是不能改变b的指向的,因为数组参数默认是const指针。等同于void fun(const char* b);void fun2(char *b);这个在函数内部是可以改变b的指向的,因为参数声明的时候是一般的指针。

回答3:

B、数组首元素的地址

这个没有好举例的吧 C++就这样规定的