【发布时间】:2020-12-14 18:14:14
【问题描述】:
如果我有一个简单的结构,例如 我将如何使用 malloc 为这个结构动态分配内存?
struct Dimensions{
int height, width;
char name;
};
我不确定该怎么做,我已经尝试过
struct Dimension* dim = malloc(sizeof(struct Dimensions));
我还想稍后在我的代码中循环访问高度和宽度变量。我的第一个想法是使用指针,但我不确定这到底是什么。
会不会是这样的
int h = *width
我对 C 很陌生。谢谢
【问题讨论】:
-
dim->height,dim->width和dim->name--dim是一个指针,因此您可以使用->运算符来引用成员。如果dim不是指针,而是struct Dimension类型的声明本身,那么您将使用.运算符来访问成员。 -
假设
char name包含多个字符,您最好将其定义更改为char *name(指针,指向字符集合,动态调整大小)或char name[20](数组固定大小的字符)。