C语言函数名后面括号里的指针变量为何有时带星号有时不带?

上课时老师提供了一些function让我们在底下写完整,比如voidltq_rebut(ltq*s)是用free释放s链所占的空间的,这个时候的s就带星号.而用来快速排序... 上课时老师提供了一些function让我们在底下写完整,比如 void ltq_rebut(ltq *s) 是用free释放s链所占的空间的,这个时候的s就带星号. 而用来快速排序的void ltq_tri_rapide(ltq s) 里面s就不带星号,为什么呢? p.s. s是一个有头和尾的单向链表。 展开
 我来答
扯星小王子
2013-10-17 · TA获得超过185个赞
知道小有建树答主
回答量:90
采纳率:0%
帮助的人:60.5万
展开全部
因为释放空间对地址进行操作,需要参数是个指针变量,函数对链表所在地址进行操作
而排序函数对链表进行操作,需要参数是链表的本身的变量类型,函数对链表本身进行操作
更多追问追答
追问
如果释放时需要指针变量的话,直接用s->tete不可以么?  *s又代表什么呢? 谢谢 >_<
追答
我不知道你链表的结构体具体成员,所以不知道s->tete是什么,但函数的参数只是一个形参,是需要你传值的,那个*s就是一个你结构体类型的一个指针变量,具体是什么要依你传进去的实参是什么而确定
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式