gpt4 book ai didi

c++ - 如何在c中使用struct?

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

这是我的代码:

struct Point
{
int i;
int j;
};

int main(int argc, char *argv[])
{
int n = atoi(argv[1]);
int a;
int b;
for(a = 0; a < n; a++)
{
for(b = a+1; b < n; b++)
{
struct Point *data = (struct Point *) malloc(sizeof(struct Point));
data.i = a;
data.j = b;
// do something here
free(data);
}
}

return 0;
}

我在 data.i = a;data.j = b; 处出错:

error: request for member 'i' in something not a structure or union
error: request for member 'j' in something not a structure or union

我该如何修复这个错误?

另外,我应该在 malloc(sizeof(struct Point)) 之后使用 free() 吗?

最佳答案

data 是一个指针。你必须说 data->i 等。只有当你不再需要数据结构时才调用 free()

关于c++ - 如何在c中使用struct?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8023661/

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