sizeof(a)/sizeof(int)含义
sizeof是求字节数的函数,计算小括号里的变量占内存多少单元,计算单位是字节数。。
a如果是int,float,long就是4个字节,short就是2个字节,char就是1个字节,double就是8个字节。
sizeof(int)就是求int型变量的字节数,也就是等于4。
因为sizeof的优先级比除号/的高,所以先算sizeof后算/,最后赋值给n。
int a[7]={1,2,5,3,8,9,12};
Sizeof(int)计算一个int型变量占内存多少单元
Sizeof(a)计算整形数组里元素占用内存多少单元
显然整形数组元素占用内存为x*sizeof(int)个字节。X为元素个数
n=sizeof(a)/sizeof(int)=[7*sizeof(int)]/sizeof(int)=28/4=7
C语言代码验证如下:
#include<stdio.h> #include<stdlib.h> void main() { int a[7]={1,2,5,3,8,9,12}; //定义一个数组 int b=sizeof(a); //计算整个数组占内存多少单元 printf("整个数组元素占内存单元为:\n"); printf("%d\n",b); int c=sizeof(a)/sizeof(int); //计算数组共有多少元素 printf("整个数组元素个数为:\n"); printf("%d\n",c); int d=sizeof(int); //计算int型占内存多少单元 printf("int型变量占内存单元为:\n"); printf("%d\n",d); system("pause"); }
1234567891011121314151617结果为: