C++中结构体占内存空间大小的判断
申明一个结构体,在以下四种情况下判断其占有的内存空间的大小;
代码一:结构体中不包含字符串变量的时候;
可以看出其分配内存空间的规则是按照结构体变量中占内存字节最大大变量统一规划,因为float占有四个B,故三个变量攻占有12B;
2.2 字符串变量单算原则
代码二:当含有字符串变量时;
说明其是在一原有的规则上面字符串变量单独计算;
如下面代码三:
注意结构体中的变量在申明的时候不可以被初始化;
2.3 结构体自身指针单独计算原则然而若结构体中包含自身的时候,如以下代码:
代码四:
可以看出其是在代码三的运行结果的基础上面多加了4B。说明结构体中包含自身的时候其只是一个指针本身占有的内存空间为4B,但同时和规则一中的结果不一样。
类似于规则二的结果。