如果数组元素全初始化为0,那么sizeof会有长度么?
时间: 2024-03-13 21:47:05 浏览: 54
C语言常见问题-数组初始化的四种方法.docx
对于数组元素全初始化为0的情况,sizeof 会得到正确的数组长度。因为数组元素初始化为0,所以数组中的每个元素都会被赋值为0,包括整型、浮点型、指针等。在 C++ 中,对于数组的 sizeof 操作,会计算整个数组的字节数,而不是只计算数组中实际存储的元素的字节数。因此,由于数组中的每个元素都被初始化为0,所以 sizeof 操作会得到正确的数组长度。
例如,下面的代码中定义了一个数组,数组中的元素都被初始化为0,使用 sizeof 操作得到的数组长度为10:
```cpp
int arr[10] = {0};
int len = sizeof(arr) / sizeof(arr[0]);
// len 的值为 10
```
需要注意的是,如果数组中的元素没有被初始化为0,那么使用 sizeof 操作得到的数组长度可能会不准确。因此,在使用 sizeof 操作计算数组长度时,建议先对数组进行初始化,以避免出现错误。
阅读全文