在C 函数中声明输入数组的大小
Declaring size of input array in C++ function
考虑以下C/C 功能:
void print_array_1(int arr[4]) {
for (int i = 0; i < 4; ++i) {
std::cout << arr[i] << std::endl;
}
}
void print_array_2(int arr[]) {
for (int i = 0; i < 4; ++i) {
std::cout << arr[i] << std::endl;
}
}
将四个元素数组传递到每个函数中时,它们都做同样的事情。
有什么真正的区别吗?arr
只是指向大量内存的指针,因此似乎应该等效。
不,没有区别。
正式参数
int arr[4]
衰减
int* arr
这意味着您可以将其视为函数内部的可修改指针变量,这也意味着有关数组大小的所有信息都消失了。
指定和需要某个数组大小的一种正式参数的方法是使用 std::array
:
void foo( std::array<int, 4> const& arr )
另一种方法是通过参考传递原始数组:
void bar( int (&arr)[4] )
相关文章:
- 检查TCHAR数组输入是否为带符号整数C++
- C++数组输入不接受一定数量的整数
- 为什么我的代码无法处理大型数组输入(>10000)?
- 我正在努力处理多维数组输入和输出,我管理输入,但是打印无法按计划工作
- 使用无符号字符数组输入十六进制数
- C++用用户输入在循环中填充 char 数组:输入整个字符串时到底发生了什么?
- 如何从用户获取数组输入
- C 2x2数组输入线
- 字符数组输入限制
- 将字符串数组输入到函数C++
- C++:如何将普通话(字符串)分配给用户使用数组输入的数字 &运算符问题
- 数组排序、数组输入、数组输出
- 将字符数组输入stdin
- 如何在 c++ 中为对象数组输入字符串
- 如何在c++ mex文件中访问多维数组输入
- 读取文件并将其作为整型数组输入
- 从c++文件中获取输入(矩阵数组输入)
- 数组输入不工作
- 函数结构数组输入cin问题
- 结束数组输入(c++行业标准)