sizeof(arr)
时间: 2023-12-11 14:33:25 浏览: 27
`sizeof(arr)`表示数组`arr`所占用的字节数。在引用中提到,可以通过`sizeof(arr)/sizeof(*arr)`来计算数组的大小,其中`sizeof(*arr)`表示数组中每个元素所占用的字节数。而在引用的代码1中,`printf("%d\n", sizeof(arr))`输出的就是数组`arr`所占用的字节数。
相关问题
C语言sizeof(arr)
在C语言中,sizeof(arr)是一个用于获取数组大小运算符。它返回的是数组在内存中所占用的总字节数。需要注意的是,sizeof(arr)并不会返回数组中元素的个数,而是返回整个数组所占用的内存空间大小。
sizeof(arr)的使用方式可以有两种情况:
1. 如果arr是一个静态数组(即在声明时指定了固定大小),那么sizeof(arr)将返回该数组的总字节数。例如,如果arr是一个int类型的静态数组,声明为int arr,那么sizeof(arr)将返回20(假设int类型占4个字节)。
2. 如果arr是一个指针变量,那么sizeof(arr)将返回指针变量本身所占用的字节数。因为指针变量存储的是地址,所以sizeof(arr)将返回指针变量的字节数,而不是指针所指向的数组的大小。
需要注意的是,sizeof(arr)在编译时计算,而不是在运行时计算。这意味着它可以用于在程序中动态计算数组大小。
sizeof(arr) / sizeof(arr)
sizeof(arr) / sizeof(arr) 是一个常见的用法,用于计算数组的长度。其中,sizeof(arr) 表示数组 arr 的总字节数,sizeof(arr) 表示数组中每个元素的字节数。通过将总字节数除以每个元素的字节数,可以得到数组的长度。
这个用法适用于静态数组,即在编译时已知数组大小的情况下。它可以帮助我们在编程中动态地获取数组的长度,而不需要手动指定数组的长度。
需要注意的是,这个用法只适用于数组,对于指针类型是无效的。因为指针只存储了数组的首地址,并不知道数组的长度。