我想從一個字符*複製一個字符串到另一個,並不知道爲什麼複製不起作用。爲什麼兩個字符指針之間沒有字符串複製?
我正在寫一個鏈接列表程序 - Linklist
- 並且有兩個char *
涉及指針。每個點到struct 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;
}
在主:
字符*消息的「HelloWorld 「
char * text is」test「
我在malloc之後觀看了gdb中的消息。該消息更改爲「/ 21F/002」,但文本仍然是「測試」
我在消息之前添加了const
,但它不起作用。
任何人都可以告訴發生了什麼?
謝謝。
LinkList是如何定義的? – 2012-07-07 16:32:55
這還有更多嗎?函數本身還有其他什麼設置? – sean 2012-07-07 16:33:03
你打電話給'創建'? – Kevin 2012-07-07 16:33:27