Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/61.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C-在结构中插入值_C_Struct - Fatal编程技术网

C-在结构中插入值

C-在结构中插入值,c,struct,C,Struct,我正在尝试将值插入到结构中,以便以后可以再次显示它们 typedef struct { char* displayname; char* name; } objectHolder; void registerObject(char* displayname, char* name) { objectHolder->displayname = displayname; objectHolder->name = name; char buffe

我正在尝试将值插入到结构中,以便以后可以再次显示它们

typedef struct {
    char* displayname;
    char* name;
} objectHolder;

void registerObject(char* displayname, char* name) {
    objectHolder->displayname = displayname;
    objectHolder->name = name;

    char buffer[70];
    sprintf(buffer, "%s spawned", displayname);

    menu.drawFeedNotification(buffer, "Object Spawner");
}
但这让我感到:

source/main.cpp:82:17: error: expected unqualified-id before ‘->’ token
     objectHolder->displayname = displayname;
                 ^
source/main.cpp:83:17: error: expected unqualified-id before ‘->’ token
     objectHolder->name = name;
我尝试过更换
->
,但也没有成功。我在谷歌上找不到关于如何正确执行的结果。非常感谢您的帮助。

您有两个问题

第一个是语法,其中“arrow”
->
用于指向结构的指针


另一个问题是
objectHolder
不是实际的结构实例,也不是变量。它是一个类型名。结构类型的别名。您可以使用
objectHolder
来声明和定义结构的变量。

在您的程序中,
objectHolder
表示类型,而不是变量/对象。不能将运算符
->
应用于类型,只能应用于指向对象的指针

如果要引入全局变量,则需要编写:

typedef struct {
    char* displayname;
    char* name;
} objectHolderType;

objectHolderType objectHolderObj;
objectHolderType *objectHolder = &objectHolderObj;
...

我希望我试图插入到结构中的内容能够像数据库一样工作,因此基本上,当我通过
registerObject
运行多个不同的值时,我希望能够稍后在循环中的其他地方返回它们。然后,您必须动态创建
objectHolder
-对象,例如,
objectHolder*oh=新的objectHolder如果我这样做,我需要做些什么来改变,比如
objectHolder->displayname=displayname
to?@J.Doe您需要知道的内容似乎太广泛,堆栈溢出的答案无法有效涵盖,因为您甚至不知道结构是什么-我可以建议您查找教程吗?@immibis如问题中所述,我找不到教程或任何有关此方面的信息。我很感谢你花时间发表评论,但这对我没有任何帮助。谢谢你的意见。解决这个问题的办法是什么?