struct a {
int *val;
};
void main(){
int n;
struct a *a1;
a1= malloc(sizeof(a1));
n=10;
a1->val = &n;
func(a1);
printf("After changing %d\n",a1->val);
}
void func(struct a *a2){
int a = 5;
a2->val = &a;
a2->val = 0 ;
}
将局部变量分配给成员结构指针。最后使它为空。而不是给出空指针,而是在尝试访问它时给出 0。