【发布时间】:2012-01-31 14:29:26
【问题描述】:
假设你有-
struct Person {
char *name;
int age;
int height;
int weight;
};
如果你这样做-
struct Person *who = malloc(sizeof(struct Person));
C 如何知道为 name 变量分配多少内存,因为它可以容纳大量数据/字符串?我是 C 新手,对内存分配感到困惑。
【问题讨论】:
-
不要尝试编写多语言源文件。我相信在 C++ 中管理内存的惯用方法是使用 RAII。
-
不,
name只是一个指针,它具有不同的大小(通常为 4 或 8 个字节)。一旦你意识到这一点,你就明白了。
标签: c memory-management