静态全局指针变量的小问题 急!!!
#include<stdio.h>
#include<stdlib.h>
static int *p;
void test1()
{
int a=10;
p=&a;
printf("%d\n",*p);
}
void test2()
{
int *q;
q=p;
printf("%d\n",*q);
}
int main(void)
{
test1(); //输出10
test2(); //这里指针p怎么又为空了呢?
return 0;
}
[解决办法]
指针p并没有空,但它所指向的地方已经无效了。
[解决办法]
这是因为在create方法中你改变了它。
pro->next=pro->next->next;