标签:二级 函数 传入 备份 C语言 初始化 listhead 指针
一、通常指针作为函数参数时,我们传进来的是一个参数的引用类型,我们对应用类型的理解,简单来说就是可以使原来的值发生变化,而不是在函数中生成某个变量的备份。
设想这样一个场景,我想初始化一个链表头节点,但是我又不想在main函数中去做这件事情,而是单独拎出来去执行,传入一个头节点,利用一个init()函数,对其进行初始化
那么问题来了,我传入一个指针可以吗?
像这样:
哎呀,没有错误代码了,回头再改回去,截图过来
其实之传入一级指针是不行的,加入传入了一个(* p_listhead),在函数内部,会生成一个_p_listhead变量作为传入参数的备份,在函数中所有的操作,都是对这个备份做的,当函数结束后,这个变量被回收,因此,是没办法达到真正初始化目的的!
二级指针就有用了,指向指针的指针,传入的相当于指针本身的一个引用,因此,函数内部的操作,都是对指针本身的操作,可以实现初始化!
像这样!
二、
标签:二级,函数,传入,备份,C语言,初始化,listhead,指针 来源: https://www.cnblogs.com/cnyulei/p/13377489.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。