gpt4 book ai didi

c - 初学者结构

转载 作者:太空宇宙 更新时间:2023-11-04 00:20:53 24 4
gpt4 key购买 nike

我是结构新手,我正在尝试做一些教程,看看我是否很好地理解了我一直在学习的内容。这是我写的代码:

#include <stdio.h>
#include <stdlib.h>

typedef struct variables{
float Vx;
float Vy;
float Vz;
}velocity;

int main(){
velocity *pv;
pv = (velocity*)malloc(sizeof(velocity));

pv[0].Vx = 1;
pv[0].Vy = 2;
pv[0].Vz = 3;

free(pv);

return 0;
}

所以我的问题是 2:

  • 我是否以正确的方式分配了三个变量?

  • 既然我使用的是数组表示法,为什么还要写 [0]而不是 [1][2] 等等?

最佳答案

回答第一个问题:是的,你的代码是完全正确的。 (你连free都做对了,我有点骄傲!)

关于第二个问题,我有点不明白你的意思,但是当你调用malloc(<i>N</i> * sizeof(<i>type</i>))其中 N 是某个整数(在您的情况下,它只是 1 ),您实际上只是在创建一个 N 元素的数组 <i>type</i> .所以pv[0]N=1 且pv[1] 是此数组中的第一个也是唯一的元素, pv[2]等不存在。

但是,您应该使用语法 pv->Vx而不是 pv[0].Vx .

关于c - 初学者结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27512947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com