#include<stdio.h>
#include<stdlib.h>
struct Node
{
int a;
};
void change(struct Node *p)
{
struct Node * b=(struct Node *) malloc (sizeof(struct Node));
b->a=0;
p=b;
printf("1: %d\n",p==NULL);
}
int main()
{
struct Node *p=NULL;
change(p);
printf("2: %d\n",p==NULL);
}
输出是
1:0
2:1
意味着把b给p时,p不空了,但是函数结束出来,p仍然是NULL,根本没有改变p,可是p是指针,传参传进去的不是地址吗为什么还改变不了呢