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 ;
}
Assigned local variable to a member structure pointer. and finally making it null. instead of giving null pointer it is giving 0 when tried to access it.