参考:c/c++中sizeof()、strlen()、length()、size()详解和区别
sizeof():返回所占总空间的字节数
(1)对于整型字符型数组
(2)对于整型或字符型指针
sizeof(…)是运算符,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。
sizeof()的使用:sizeof(数组名)/sizeof(类型名)
1、整型:
int A[] = { 9,8,7,6,5,4,3,2 };
cout << sizeof(A) << endl;
cout << sizeof(int) << endl;
cout << sizeof(A)/sizeof(int) << endl;
输出:
2、字符数组:
char ch[] = "12345678"; //8个字符+1个结束符'\0'
cout << sizeof(ch) << endl; //sizeof(ch)=9
cout << sizeof(char) << endl; //sizeof(char)=1
cout << sizeof(ch) / sizeof(char) << endl; //sizeof(ch) / sizeof(char)=9
输出:
可以看到使用sizeof()计算字符数组的大小是包括字符数组的结束符 ‘\0’ ,这点值得注意