【发布时间】:2016-01-16 10:00:36
【问题描述】:
我已将我的结构声明为
struct linkedStruct
{
char name;
int size;
enum groupstatus status;
struct linkedStruct* next;
};
我正在尝试将代码中的 char* 名称变量(字符串)传递到此结构的单个节点中。 例如,用户输入 Jon,我希望我的 char name 存储字符串 Jon。
我在弄清楚如何解决这个问题时遇到了一些麻烦。我试着简单地说明(假设我的节点名称是 temp)
temp->name = name;
但是,当我在存储时打印出名称值时,printf 什么也不返回。
我最初在我的结构中将其命名为 name[30],因为我们假设该名称少于 30 个字符,但这最终使我更加困惑,因为我在尝试将名称存储到结构中时不断出错带有 for 循环。
我的结构的其他实现
struct linkedStruct
{
char name[30]; //now a character array
int size;
enum groupstatus status;
struct linkedStruct* next;
};
代码是
for(int i = 0; i< sizeof(name); i++){
name[i] = temp->name[i];
//seemed totally wrong to do but I had no idea how to go about it
}
我只是想知道在这两种情况下如何存储它,因为我当前的代码不起作用。在我的 name[30] 实现中,我不知道如何声明/访问结构的数组表示法。
【问题讨论】:
-
忘了说,传入的name变量是指向char的指针。