十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
你的樱侍地址值传递错误,按照我给你修改的试试看,一定要注意你的实参传递的是地址还是具体的值,如果是地址,在子函数中就不要去修改你传递进来的地址。
创新互联公司是一家企业级云计算解决方案提供商,超15年IDC数据中心运营经验。主营GPU显卡服务器,站群服务器,服务器托管,海外高防服务器,大带宽服务器,动态拨号VPS,海外云手机,海外云服务器,海外服务器租用托管等。
int
main(void)
{
int
data=0;
//此处随机分脊镇吵配内旅基存空间,不要用指针
myStack=makeStack(myStack,top);
Push(myStack,3);
Push(myStack,8);
Push(myStack,19);
Push(myStack,31);
Push(myStack,43);
Push(myStack,36);
Pop(myStack,data);//此处,传递的是地址值
printf("%d
",data);
}
int*
Pop(LinkedStack
myStack,int
*data)
{
pStack
cursor=myStack;
if(Stack_Empty())
{
}
else
{
while(cursor-next!=top)
{
cursor=cursor-next;
}
*data=top-data;
//此处,只是在同一个内存空间修改其值,所以不要取地址
top=cursor;
return
data;
}
}
*x++和首尺毁*x = *x + 1完全两个意思,你这是误会了。
提示一下,者备跟指针没什么困埋关系,和优先级有关。
可以,但洞戚子函数中要谨慎处理,不然会出问题,如
int fun( int *p )
{
//if ( *p !=0 ) 错误的引用方法,会导致程序异常
if ( p *p ) //正确的稿颤郑引用方法,保证p不是NULL时才读。
return 1;
return 0;
}
void main()
{
int x=fun(NULL) ;
}
经常用到的time(NULL); 也是传NULL指针的一个应用键颂。