[英]malloc with structs and how to access memory of malloc of struct
如果我有一个简单的结构,例如如何使用 malloc 为该结构动态分配内存?
struct Dimensions{
int height, width;
char name;
};
我不确定如何解决这个问题,我试过了
struct Dimension* dim = malloc(sizeof(struct Dimensions));
此外,我希望稍后在我的代码中循环访问高度和宽度变量。 我的第一个想法是使用指针,但我不确定这到底是什么。
会不会像
int h = *width
我对 C 很陌生。谢谢
您动态分配该结构的方式是正确的:
struct Dimension* dim = malloc(sizeof(struct Dimensions));
此外,我希望稍后在我的代码中循环访问高度和宽度变量。
您应该首先为该dim
分配一些值,例如:
dim->high = 1;
dim->width = 2;
您刚刚使用的name
成员可能不是您需要的char
。 通常它是一个字符串: char name[100];
. 但是,您不能对该字符串使用赋值,因此请使用strcpy
。
然后你可以稍后访问它:
int h = dim->high;
请记住,一旦您完成了动态分配的内存,您应该free
它:
free(dim);
return 0;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.