#include<stdio.h>
typedef struct
{
int last;
}sqlist;
void changenum(sqlist *L)
{
L->last=10;
printf("%d",L->last);
}
main()
{ sqlist * p;
changenum(p);
p->last=11;
printf("%d",p->last);
}
如上程序,我运行了下输出了1011,那请问,这个p不是没有分配空间么,怎么给last赋值了11,还输出了11呢?还有我将p->last=11;删除后也能输出10的!
在changenum函数传递时到底发生了什么事啊?函数到底执行了没?在函数中的L->last=10;执行时就没有出没有问题吗,不是也没有分配空间吗??
到底怎么回事啊,搞不清楚了。。。