一起沉默2626
2017-05-08 12:39
#include
union data{ int a; char b; char c[5]; int d; }; int main() { union data dd = {10}; dd.b = 'a'; printf("___SIZE____ %lu\n", sizeof(dd)); } //这里我输出共用体的大小是8而不是5 是不是共用体内存大小也是要对齐的?c++有一个对齐机制,申请的内存应该是某一数的整数倍,在这里是4,所以只能是8
是,这点和结构体类似。
Linux C语言结构体
118294 学习 · 162 问题
相似问题