结构体数组不能作为参数传递给函数(数组元素为什么不能做函数形参)

本文目录
- 数组元素为什么不能做函数形参
- C++ 结构体数组 引用类型作为函数形参时,编译错误,提示“引用”使用的不对
- 为什么我的string 数组不能作为函数参数传递呢
- C语言里可以将数组作为参数,以值的方式传递给函数吗
数组元素为什么不能做函数形参
1 数组元素做实参的时候,按什么传递取决于调用函数,比如:
有void func1(int a); 和 void func2(int& a); 还有一个数组 int xx;
那么对数组第2个元素 xx);是按引用
2 如果你想声明 void func(int a) 来使得每次调用这个函数都接受到数组的第6个元素,是不行的。 因为这个声明中的5表示的是数组有5个元素,而不是数组元素的第6个, 而且编译的时候直接就忽略了5这个数字。
3 我猜测你更想问的是 void func(int a);这种形式调用的情况,该情况下, 数组指针被传入,函数内部所做的更改会影响到参数, 你可以当成是传递了一个数组的引用过去。
C++ 结构体数组 引用类型作为函数形参时,编译错误,提示“引用”使用的不对
只要把print函数定义和声明处的参数中 & 符号去掉就行了,你加上这个符号愿意可能是想按引用使用参数,但是pstud是数组,直接使用它就是使用他的地址,也即按引用使用,所以不必加它。
而你非要用&,则相当于传递了一个指针,但是这个类型的指针并不是指向pstud结构体的指针,而是指向pstud类型的指针,这么说如果不理解,建议你去研究一下二维数组和指向指针的指针
为什么我的string 数组不能作为函数参数传递呢
不是数据类型的问题,而是你的写法或者具体定义方式有关。
看错误提示。
在你的头文件
quicksort.h(10) : error C2146: 语法错误 : 缺少“)”(在标识符“Data”的前面)
C语言里可以将数组作为参数,以值的方式传递给函数吗
如果是只传数组的数值的话,是做不到的。
如果传数组中某个值的地址的话,是可以做到的。
简单来说:只能以传 数组地址 的方法来实现。

更多文章:
在from子句中可以出现(如何在from 子句中嵌套查询下面的语句在access中出错!)
2026年10月11日 05:20
countif函数统计个数怎么用(countif函数怎么用 详解Excel中countif函数的使用方法)
2026年10月11日 03:30
正则匹配数字之前的字符(正则表达式如何匹配前面是数字、中间是“/”、后面也是数字,就像2/3专业的模式)
2026年10月11日 03:00
orlnsertbootmediinselected(我电脑开机显示这个是什么意思or insert boot media in select)
2026年10月10日 23:00
display的用法(display是什么意思 详解display的含义和用法)
2026年10月10日 22:00
html全部居中代码(怎么让网页居中显示,html如何让网页居中)
2026年10月10日 21:10




