https://www.cnblogs.com/huolong-blog/p/7587711.html
1.定义与用法
sizeof是一个操作符(operator)。
其作用是返回一个对象或类型所占的内存字节数。
sizeof有三种语法形式:
1) sizeof (object); //sizeof (对象)
2) sizeof object; //sizeof 对象
3) sizeof (type_name); //sizeof (类型)
对象可以是各种类型的变量,以及表达式(一般sizeof不会对表达式进行计算)。
sizeof对对象求内存大小,最终都是转换为对对象的数据类型进行求值。
sizeof (表达式); //值为表达式的最终结果的数据类型的大小
int i; cout<<sizeof(i)<<" "<<sizeof i<<endl; #输出: 4 4
//也可以不加括号
2.数组的sizeof
char a[10]; cout<<sizeof(*a)<<" "<<sizeof(a);
输出:1 10
数组的sizeof值等于数组所占用的内存字节数。
3.指针的sizeof
char *b="woaini"; cout<<sizeof(b); #输出:8
在32位计算机中,一个指针变量的返回值必定是4。那么在64位计算机中,返回的值为8。
int *b={1,2,3}; cout<<sizeof(b); #会报错,输出8,那怎么定义指向数组的指针? int **b; cout<<sizeof(b); #输出:8
4.其他的sizeof
其他的包括函数的、联合体的、结构体的,在上面的文章中都有讲到,我目前用不到先不进行学习。