sizeof()操作符检测的是系统为后面()中的类型、变量等分配的内存空间的字节数,这里()中是int,就是求系统为int类型的变量分配几个字节。
在16位int平台下是2;
在32位int平台下是4;
在64位int平台下是8。
与strlen区别
strlen(char*)函数求的是字符串的实际长度,直到遇到第一个' ',然后就返回计数值,且不包括' '。
char aa[10];cout<<strlen(aa)<<endl; //结果是不定的,因为未初始化,' '在内存中的位置不确定
char aa[10]={' '}; cout<<strlen(aa)<<endl; //结果为0
char aa[10]="jun"; cout<<strlen(aa)<<endl; //结果为3
而sizeof()函数返回的是变量声明后所占的内存数,不是实际长度。
sizeof(aa) 返回10 int a[10]; sizeof(a) 返回40
sizeof()的详细介绍百度百科写的比较全:https://baike.baidu.com/item/sizeof/6349467?fr=aladdin