通过指针在结构体中写入数据

问题描述 投票:0回答:1

我已经定义了一个结构体并通过 malloc 在内存中分配了必要的空间,我想在该结构体中写入数据,有人可以帮助我了解这种情况下 scanf 函数的语法吗?

我认为当我创建一个 malloc 时,变量已经在地址内,所以我认为我可以通过在内存中移动来导航结构 显然我错了;

struct airplanesType
{
    char TractionType[15];
    int superficeAlare;
    int peso;
    int coefficenteDiCarico;
    int rendimento;
    int cordaMedia;
    int distanzaCPCG;
    int distanzaCGCoda;
    int distanzaDragTraction;
    int MaxTraction;
    int ClMax;
    int CDclmax;
};

typedef struct airplanesType aereo;

结构;

    aereo *cesna= malloc(sizeof(aereo));

我如何调用malloc

c struct malloc scanf
1个回答
0
投票
  1. 尽可能使用对象而不是输入
    sizeof
aereo *cesna= malloc(sizeof(*cesna));
  1. ->
    取消引用结构体指针。
scanf("%d", &cesna -> cordaMedia);

您还可以使用

(*cesna).cordaMedia

scanf("%d", &(*cesna).cordaMedia);
© www.soinside.com 2019 - 2024. All rights reserved.