老师,如何数组传参?

来源:1-1 2020重C++ 课程导学

Cpaunvisual_studio

2021-10-01

如何数组传参? example:

int function(set);

main(){
int a[5]={1,2,3,4,5};
function(a)
}

function(set){
something codes…
}

写回答

1回答

quickzhao

2021-10-02

你说的这种场景其实不是真正的传递数组,这里int function(set) 其实传递的是指向其首元素的指针, 这种“退化”是因为在传统的C中其实数组只是一个内存块,没有附带其他的一些属性;所以这里应该写成:int function(int*set, unsigned int length)更为合适, 因为这里的长度信息已经丢失。当然更C++的方式你可以考虑使用STL中的vector,传递其引用的方式进行, 类似这样:int function(vector<int>& set)

1
0

重学C++ ,重构你的C++知识体系

一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维

3884 学习 · 1103 问题

查看课程