函数中sizeof数组
时间: 2023-12-20 07:27:55 浏览: 79
C语言函数sizeof
在函数中使用 `sizeof` 运算符来获取数组的大小是一种常见的做法。`sizeof` 运算符能够返回某个对象(包括数组)的字节大小。当应用于数组时,它返回整个数组的字节大小。
下面是一个示例:
```c++
void printArraySize(int arr[]) {
int size = sizeof(arr);
cout << "数组的大小为:" << size << " 字节" << endl;
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
printArraySize(arr);
return 0;
}
```
然而,需要注意的是,在函数中传递数组作为参数时,数组实际上会被转换为指针。因此,`sizeof` 运算符将返回指针的字节大小,而不是整个数组的字节大小。
为了正确获取数组的大小,你可以通过传递数组长度作为额外的参数来解决这个问题。下面是修改后的示例:
```c++
void printArraySize(int arr[], int length) {
int size = sizeof(arr[0]) * length;
cout << "数组的大小为:" << size << " 字节" << endl;
}
int main() {
int arr[] = {1, 2, 3, 4, 5};
int length = sizeof(arr) / sizeof(arr[0]);
printArraySize(arr, length);
return 0;
}
```
阅读全文