gpt4 book ai didi

c++ - 带指针的结构的大小

转载 作者:行者123 更新时间:2023-11-30 03:38:58 25 4
gpt4 key购买 nike

<分区>

我编译了这段代码:

// Example program
#include <iostream>
using namespace std;
struct A
{
char a;
};
struct B
{
char b;
int a;
};
struct C
{
int * a;
unsigned char b;
};

int main()
{
cout<< "size of Strcut A:\t"<< sizeof(A)<<endl;
cout<< "size of Strcut B:\t"<< sizeof(B)<<endl;
cout<< "size of Strcut C:\t"<< sizeof(C)<<endl;
cout<< "size of int* : \t"<< sizeof(int*)<<endl;
return 0;
}

我得到了这个结果:

size of Strcut A:   1
size of Strcut B: 8
size of Strcut C: 16
size of int* : 8

现在我想问为什么Strcut B的大小不是5?为什么Struct C的大小不是9?当内存在嵌入式系统中很重要时,我应该如何在其他平台(如 ARM)中节省内存?

我可以告诉编译器它是 5 个字节还是 9 个字节?

http://cpp.sh/2rv6b

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com