我正在尝试将字符串从一个 char * 复制到另一个,但不知道为什么复制不起作用。
我正在编写一个链表程序——Linklist
并且涉及到两个char *
指针。每个指向astruct Node
如下:
struct Node
{
char * message;
char * text;
struct Node * next;
};
typedef struct Node * Linklist;
我写了一个函数,它有两个参数来创建一个新的LinkNode
:
Linklist create(char *message,char * text)
{
Linklist list =(Linklist)malloc(sizeof(struct Node));
//the message changes after the sentence but text is right.
if(list==NULL) printf("error:malloc");
list->message=message;
list->text=text;
return list;
}
主要:
char *消息是“helloworld”
char *text 是“测试”
在 malloc 之后,我在 gdb 中查看了消息。消息更改为“/21F/002”,但文本仍为“测试”
我const
在消息之前添加了,但它不起作用。
谁能告诉发生了什么?
谢谢。