#include
#include
struct Process
{
char name[5];
int again;
int serve;
char state;
struct Process *next;
};
void Set(struct Process *L)
{
struct Process Demo;
L=&Demo;
printf("%p\n",L);
}
int main(void)
{
struct Process *L=NULL;
Set(L);
if(L)
{
printf("函數結束,空間釋放!\n");
printf("%p\n",L);
}
else
printf("L地址為NULL\n");
return 0;
}
程序的運行結果為:
0000000000FDF0
L的地址為NULL
在這個程序中,我在main函數中聲明了*L指針,本來打算在Set()函數中把L的地址改為Demo結構體變量的地址,可是程序的運行結果不對呀!怎麼回事?求詳解分析下!
只有1個幣了,只能這次酬謝這麼多了!謝謝吶!
你的set函數中demo變量本來就是空值,你把它賦給L它肯定輸出空值啊