gpt4 book ai didi

c - 如何将通过函数传递的字符串分配给结构成员? C编程

转载 作者:太空宇宙 更新时间:2023-11-04 07:10:56 24 4
gpt4 key购买 nike

好的,所以我正在尝试通过函数传递一个字符数组,然后将该字符字符串分配给二叉搜索树结构的成员。我的文件将被拆分,我似乎无法弄清楚我做错了什么。

这是我的插入文件

#include <stdio.h>
#include <stdlib.h>
#include "struct_def.h"
#define MAXLEN 15

treeNode * insert(treeNode *nodeptr, char * tempWord){

if(nodeptr == NULL){
treeNode *newNode;
newNode = (treeNode *)malloc(sizeof(treeNode));
newNode -> s = *tempWord;
}

}

这是我的 struct_def.h 文件

#define MAXLEN 15

typedef struct treeNode{
struct treeNode *right;
struct treeNode *left;
char s[MAXLEN+1] ;
}treeNode;

我不断收到类似“insert.c:11:17: error: incompatible types when assigning to type 'char[16]' from type 'char'”这样的错误

请帮助我,我不知道我是在做一些根本性的错误还是什么。谢谢

最佳答案

数组不可赋值,因此也不可隐式复制。

即使它们是,newNode -> s = *tempWord 也会尝试将单个 char 分配给数组。

您将不得不使用 strncpy(或 memcpy)复制数组元素。

关于c - 如何将通过函数传递的字符串分配给结构成员? C编程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28510611/

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