关于c语言出栈问题
关于c语言出栈问题这里为什么要把e定义为一个指针变量呢?不明白,返回要删除的元素,直接用一个int型变量e就行了呗!...
关于c语言出栈问题这里为什么要把e定义为一个指针变量呢?不明白 ,返回要删除的元素 ,直接用一个int型变量e就行了呗!
展开
1个回答
展开全部
pop函数需要向外界传递两个信息:①出栈操作成功与否;②出栈的元素的值。①可以通过返回值传递给外界,那么②呢?C语言中函数只能有一个返回值,不可能既返回a又返回b,当然你可以通过返回一个结构体当中封装了这两者来实现,但这太麻烦不符合函数初衷,所以②就通过函数的第二个参数传递给外界,即出栈的元素的值保存在参数2中。既然如此,参数2必然要做到能够修改外界实参的值,而如果使用ElemType类型,在函数中修改形参的值不可能影响到外部实参,所以必须使用ElemType*指针类型,并传递外部实参的地址作为参数,然后通过指向实参的指针去修改实参的值。
更多追问追答
追问
那这个指针e在主函数中原来是指向谁呢?
追答
指向需要用来保存出栈的元素值的那个变量。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |