sizeof(array)和sizeof(array[0])区别是什么
时间: 2023-05-25 11:04:01 浏览: 109
sizeof(array)是整个数组占用的空间,即数组中元素的总数乘以每个元素所占用的字节数。
sizeof(array[0])是数组中每个元素的大小,即每个元素所占用的字节数。
例如,对于int arr[5]数组,sizeof(arr)返回的是整个数组占用的空间,即20个字节(5个int类型元素,每个int类型占用4个字节);sizeof(arr[0])返回的是每个元素int类型占用的字节数,即4个字节。
相关问题
那为什么sizeof(array)和sizeof(array[0])有区别
sizeof(array) 表示整个数组占用的字节数,而sizeof(array[0])表示数组中每个元素的大小。因为数组中每个元素的大小可能不同,所以它们的大小也不同。例如,一个数组中可能包含不同类型的数据,如int、float、char等,它们的大小不同,所以 sizeof(array[0]) 的值会不同。
array sizeof
在 C语言中,可以使用`sizeof`操作符来获取数组的大小。`sizeof`操作符返回的是一个数组所占用的总字节数。以下是使用`sizeof`获取数组大小的示例代码:
```c
#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5};
int size = sizeof(arr) / sizeof(arr[0]);
printf("数组的大小为:%d\n", size);
return 0;
}
```
该示例中,我们定义了一个包含5个元素的整型数组`arr`。通过`sizeof(arr)`获取数组`arr`所占用的总字节数,再除以`sizeof(arr)`(即数组中每个元素的字节数),就可以得到数组的大小。
输出结果:
```
数组的大小为:5
```
阅读全文