2 つのポインターと int 変数を持つ構造体があります。何らかの理由で、行でセグメンテーション違反が発生していますptr->i=0;
。何故ですか?私はメモリ内の何かを指していi
ますが、それはポインタではないので、合法でなければなりません。誰でもこれで何が起こっているのか説明できますか? 構造体と 2 つの char ポインター用のメモリを作成しました。
struct A_ {
char *a;
char *b;
int i;
};
typdef struct A_ StructA;
そして、私のmain()
中には次のものがあります:
StructA *ptr=malloc(sizeof(StructA));
ptr->a=malloc(sizeof(char));
ptr->b=malloc(sizeof(char));
ptr->i=0;