gpt4 book ai didi

更改 C 中结构的变量

转载 作者:行者123 更新时间:2023-11-30 17:54:16 25 4
gpt4 key购买 nike

如果我想更改结构中变量的内容,我必须提供指向该结构的指针,使用不同的函数来更改结构,这样说是否正确:

结构:

typedef struct data{
int row;
int column;
}data;

结构更改函数中的 var:

struct data* init_maze(void) {

data information; //init information struct
data *infoPoint; //int information struct pointer

int row = 6;
int column = 10;

infoPoint->row = row; //not working but should be updating information
infoPoint->column = column; //same as above

return infoPoint;
}

但这并没有按预期工作。代码被破坏并且什么也没有发生。谁能解释一下我做错了什么。

最佳答案

infoPoint 应声明为:

data* infoPoint = malloc (sizeof(data));

那么这段代码应该可以工作:

infoPoint->row = row;   //not working but should be updating information
infoPoint->column = column; //same as above



并且函数 init_maze 不需要结构体前缀:

data* init_maze(void) 


data information;  

也未使用

关于更改 C 中结构的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15043385/

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