#include <stdio.h>
#include <stdlib.h>
typedef struct s{
int n;
}F;
F* make();
void create(F *s);
void add(F *f);
void show(F *f);
int main()
{
F *f=NULL;
//1.) the following doesn't work
create(f);
show(f);
//2.) The Following is work
f=make();
show(f);
printf("Hello world!\n");
return 0;
}
void add(F *f){
(f->n)++;
}
void show(F *f){
printf("\n======\n %d \n======\n",f->n);
}
F* make(){
F * temp=(F*)malloc(sizeof(F));
temp->n=19;
return temp;
}
void create(F *s){
F * temp=(F*)malloc(sizeof(F));
temp=make();
s=temp;
show(s);
}
なぜコード fragment(1) が断片化違反と言うのか説明してください (無効なメモリ空間へのアクセスに関することはわかっていますが、自分のコードを見るとどこが間違っているのかわかりません。) が、(2)大丈夫です、うまくいきます。前もって感謝します 。