我有一个名为 symbolEntry 的结构,其中包含一个名为“name”的 char[31] 变量。我有一个函数,我在其中传递一个 char *,本质上是一个字符串,并尝试将其分配给 symbolEntry 的名称值。但是,我想出了以下错误。
symList.c:19:错误:从类型“char *”分配给类型“char [31]”时类型不兼容</p>
我尝试创建一个临时变量 a[31] 并使用 strncopy 复制传递的字符串,但我一直收到同样的错误。有任何想法吗?
这是我的代码:
typedef struct symbolEntry
{
char type;
char name[31];
struct symbolEntry * next;
} symbolEntry;
void insertN(symbolEntry ** first, char * symbolName, char type)
{
symbolEntry * entry = (symbolEntry *)malloc(sizeof(symbolEntry));
entry->type = type;
char a[31];
strncpy(a, symbolName, 31);
entry->name = a;
entry->next = *first;
first = &entry;
}