面试题答案
一键面试- 数组作为函数参数传递时的类型转换:
- 在C++ 中,当数组作为函数参数传递时,数组会自动退化为指向其首元素的指针。例如,
int arr[10]
在传递给函数时,会被转换为int*
类型。
- 在C++ 中,当数组作为函数参数传递时,数组会自动退化为指向其首元素的指针。例如,
- 定义接收数组参数的函数并处理元素示例:
#include <iostream>
// 定义函数,参数为指向int类型的指针和数组元素个数
void processArray(int* arr, int size) {
for (int i = 0; i < size; ++i) {
std::cout << "Element at index " << i << " is: " << arr[i] << std::endl;
}
}
int main() {
int myArray[] = {1, 2, 3, 4, 5};
int size = sizeof(myArray) / sizeof(myArray[0]);
processArray(myArray, size);
return 0;
}
在上述代码中,processArray
函数接收一个int*
类型的指针(实际上是退化后的数组)和数组元素个数size
。通过这个指针和元素个数,函数可以正确遍历并处理数组中的元素。在main
函数中,定义了一个int
类型数组myArray
,计算其元素个数后传递给processArray
函数进行处理。