struct A
{
char a;
char b;
};
struct B
{
int aa;
int bb;
};
struct C
{
struct A* AA;
struct B* BB;
};
void test06_01(){
size_t a = sizeof(struct A);
size_t b = sizeof(struct B);
size_t c = sizeof(struct C);
printf("%ld %ld %ld\n",a,b,c);
unsigned char* mem = malloc (a+b+c);
memset (mem,0,(a+b+c));
struct C* ccc = (void*)(mem);
mem +=c;
ccc->AA = (void*)mem;
ccc->AA->a = 'a';
ccc->AA->b = 'b';
mem += a;
ccc->BB = (void*)mem;
ccc->BB->aa = 11;
ccc->BB->bb = 12;
}
给结构体分配堆区内存
最新推荐文章于 2025-03-27 21:17:38 发布