コードは次のとおりです。
/* set.h */
struct setElement{
char *element;
setElement *next;
};
typedef struct setElement *Set; //Set is now the equivalent of setElement*
Set a;
setInit(&a);
/* setInit function declaration @ setInit.c */
int setInit(Set *a){
(*a)->element = "asdf"; //results in a seg fault
}
「a」を malloc しようとすると機能しますが、セット「a」内のメンバーにアクセスしようとすると機能しません。main() 関数から setInit にセットの参照を渡していることを理解しているので、setInit に含まれるポインターは、main() 関数の「Set a」によって割り当てられたメモリをアドレス指定しているため、malloc は「必須ではありません...
いんの。助けていただければ幸いです:)