あるchar*から別のchar*に文字列をコピーしようとしていますが、コピーが機能しない理由がわかりません。
私はリンクリストプログラムを書いています---Linklist
そして2つのchar *
ポインタが関係しています。それぞれが次のように指しstruct Node
ます。
struct Node
{
char * message;
char * text;
struct Node * next;
};
typedef struct Node * Linklist;
新しいを作成するための2つのパラメーターを持つ関数を作成しました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*messageは"helloworld"です
char * text is "test"
mallocの後、gdbでメッセージを見ました。メッセージは「/21F/ 002」に変更されましたが、テキストはまだ「テスト」です
メッセージの前に追加しましconst
たが、機能しません。
誰もが何が起こっているのかを知ることができますか?
ありがとう。