typedef struct{
int number;
char name[100];
} Apple
typedef struct{
Apple *apple;
int bit[2];
} AppleArray;
int main(){
AppleArray *aArray;
loadApple(&aArray);
}
loadApple(AppleArray **aArray){
*aArray = NULL;
for(i=0; i<100; i++){
*aArray = realloc(*aArray, (i+1) * sizeof(AppleArray));
/*SEGFAULT here*/
aArray[i]->apple = NULL;
for(j=0; j<2; j++){
aArray[i]->apple = realloc(aArray[i]->apple, sizeof(Apple) * (j+1))
}
}
}
特定のサイズのAppleArrayが必要です。各AppleArrayにはAppleが2つあります。しかし、私はNULLをaArray [i] - > appleに割り当てるとsegfaultを取得します。そこには何が問題なのですか?構造体配列内の構造体の値を取得する
EDIT:
loadApple(AppleArray **aArray){
*aArray = malloc(100 * sizeof(AppleArray));
for(i=0; i<100; i++){
/*SEGFAULT here*/
aArray[i]->apple = NULL;
for(j=0; j<2; j++){
aArray[i]->apple = realloc(aArray[i]->apple, sizeof(Apple) * (j+1))
}
}
}
私はそれが* aArray [i]であるべきだと思います。 Plsは私の答えをチェックする。 – Jay
@Jayエラー:行の代入に互換性のない型* aArray [0] - > apple = NULL; –
Try(* aArray)[0] .apple = NULL; – Jay