sizeof获得是占用内存的大小,单位是字节
int test[]={1,1,1};
std::cout<<sizeof(test)<<endl;
此时输出12,三个int型元素,每一个在32位系统中是4byte(字节),那么就是3*4=12字节。
当用于char数组表示字符串时
char test[]="hello";
std::cout<<sizeof(test)<<endl;
此时输出6,5个char类型元素+一个末尾‘\0’空字符,char是一个字节,因此一共6字节。
当计算数组长度时应使用,sizeof(数组)/sizeof(数组类型),当char类型数组时,正好分母是1所以也可以直接sizeof(数组)即可。
注意*
字符串数组和字符数组在sizeof的时候是有差别的:
char arr[] = "abc";
sizeof(arr) = 4;
strlen(arr)=3
char arr[] = {'1', '2', '3'};
sizeof(arr) = 3;
strlen(arr)=3