如何用sizeof求数组的元素个数?
sizeof在编程中还有哪些技巧
int abc[0x100];
sizeof(abc)/sizeof(abc[0]); 或者 sizeof(abc)/sizeof(int)
这样就可以算出数组长度
sizeof(array)/sizeof(uchar);
sizeof()就是算出数组所需要占用的空间,以字节为单位。
如char 就只占一个字节,所以sizeof()一个char的数组,得到的就是这个数组长度。同理uint32_t 占用4个字节,sizeof()一个uint32_t 的数组,得到的是这个数组占用的字节空间,除以4,就得到数组长度
只需要用整个数组的sizeof去除以一个元素的sizeof即可求出数组中元素的个数,以数组名array为例,
代码为
#define Count (sizeof(array[0]))或者
#define Count(sizeof(array)、sizeof(数组的类型,如int,double等))。
程序示例如下:
#include<stdio.h>#define Count (sizeof(array)/sizeof(array[0]))int main(){int array[]={12345};printf("%d\n"Count);return 0;}
sizeof(数组名)除以sizeof(数组的类型)
意思是这个数组占用内存的总长度除以其中一个元素占用内存的长度
可以用sizeof(array)/sizeof(array[0]
array是你的数组名