我在 .h 文件中声明了一个结构,如下所示:
struct node{
char* string;
}
我打算创建一个结构,例如,具有一个成员,一个名为 string 的字符指针。
现在,我计算出字符串有多长,然后 malloc 一个适当大小的数组,并用它来输入。
char* test;
test = (char*) malloc( n * sizeof(char) );
据我所知,这已经创建了字符指针测试,并将其分配给我刚刚 malloc 的数组的头部。然后我继续将每个数组槽分配给用户输入的字符,然后我将其读回 - 这一切都可以编译并正常工作。当我尝试将此字符指针分配给传递给此结构的结构节点中的字符指针时,我的问题出现了,如下所示:
int f1( struct node* new ){
所以我尝试将结构中的指针分配给指向数组的指针的值,如下所示:
new->string = test;
但我有段错误。
对我来说,这似乎是我将 char* 分配给期望 char* 的东西,所以这应该可以正常工作......我可能错过了一些愚蠢的东西,但有人有方向指向我吗?非常感谢!