.hファイルで構造体を次のように宣言しました。
struct node{
char* string;
}
これは、たとえば、stringという名前の文字ポインターという1つのメンバーを持つ構造を作成することを目的としています。
ここで、文字列の長さを把握し、適切なサイズの配列をmallocして、入力を取得します。
char* test;
test = (char*) malloc( n * sizeof(char) );
私の知る限り、これにより文字ポインターテストが作成され、mallocした配列の先頭を指すように割り当てられました。次に、ユーザーが入力した文字に各配列スロットを割り当て、それを読み戻します。これはすべてコンパイルされ、適切に機能します。この構造体に渡された構造体ノードの文字ポインタにこの文字ポインタを割り当てようとすると、次のように問題が発生します。
int f1( struct node* new ){
したがって、次のように、構造内のポインターを配列へのポインターの値に割り当てようとします。
new->string = test;
しかし、私はセグメンテーション違反です。
私には、これはchar*を期待するものにchar*を割り当てているように見えるので、これは正常に機能するはずです...私はおそらく愚かな何かを見逃していますが、誰かが私を指す方向を持っていますか?どうもありがとう!