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