linux 内核源码分析 - 获取数组的大小

 

  

  #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))


 

测试程序:

#include<stdio.h> 
#include<stdlib.h>
struct dev
{
	int a;
	char b;
	float c;
};
struct dev devs[]=
{
	{
	    1,‘a‘,7.0,
	},
		{
	    1,‘a‘,7.0,
	},
		{
	    1,‘a‘,7.0,
	},
};
int main()
{
		printf("int  is %d \n" ,sizeof(int));
		printf("char is %d\n",sizeof(char));
		printf("float is %d\n",sizeof(float));
		printf("devs is %d \n",sizeof(devs));
		printf("devs[0] is %d\n",sizeof(devs[0]));
		printf("num is %d \n",sizeof(devs)/sizeof(devs[0]));
		return 0;	
}

 

实践结果如下:

 

linux 内核源码分析 - 获取数组的大小,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。