文字列をメモリに保存し、後で読みたい:
$$->desc.constant->base.id = (char*)malloc(200);
sprintf($$->desc.constant->base.id, "%f", $1);
printf("->%s\n", $$->desc.constant->base.id); //LINE A
printf("->%i\n", $$->desc.constant); //LINE B
//SOME OTHER CODE
//Then, later on in a function call:
printf("%i", expr->desc.constant); // LINE D
printf("%s", expr->desc.constant->base.id); // LINE C
行 B と行 D は同じアドレスを示していますが、行 C の printf はセグメンテーション違反で失敗します。私は何が欠けていますか?
どんな助けでも本当に感謝します!