假设我有这样的结构定义:
typedef struct Sample
{
int s;
}Sample;
我声明了一个像下面的指针变量
Sample *sample = (Sample *)malloc(sizeof(Sample));
现在我的问题是,这个' int s'放置,堆叠或堆?我的意思是是否有动态内存分配用于' int s'也?
答案 0 :(得分:3)
当您通过struct
为malloc
分配空间时,整个struct
(即struct
中包含的所有字段)都会在堆上生效。
答案 1 :(得分:2)
当您动态分配内存时,它总是从堆中获取。我想这总结了答案