课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
指针相信大家在学习C语言编程的时候应该都见过了,而且指针也是C语言编程中非常重要的一个功能,下面我们就一起来了解一下,关于C语言指针的使用我们需要掌握哪些技巧。
指针介绍
如果说C语言有魅力的地方在哪,那么毋庸置疑,非指针莫属了。
众所周知,C语言中每个变量都有一个内存地址,可以通过&进行访问。指针是一个变量,它的值是一个变量的内存地址【注意是内存地址】。
指针
指针声明
指针进行声明时,=的右边必须为内存地址,不可以是变量(但是int*p=0;除外,该语句表示指针为空)
指针初始化
在初始化指针的时候,如果暂时不需要赋值,可以将值赋值为NULL,可称为空指针。ps: *不赋值NULL也行,不过赋值NULL是一种好习惯,但是如果定义指针数组,大可不必这样。
指针与数组不可说的秘密
简单点来说,指针跟数组没有半毛钱关系。只是说,经常将指针和数组拿过来共同使用,于是乎,两者便有了点关系。
指针数组
指针数组定义与数组定义类似
指向指针的指针
这名字乍一听有点拗口,再次一听就更加拗口了。先看定义:
type **ptr;
指向指针的指针仅仅只比比指针只多了一个*号,没什么很大的改变,接下在我们看一下使用
这时候我们想一想&和*的作用就能理解了
&:取地址
*:从地址中取值
我们都知道,C语言指针是一个变量,只不过变量所储存的值只能是地址罢了。那么它肯定在内存空间肯定要占一个位置,因为不可能是凭空产生的嘛,那么指针便有一个内存地址。
所以,在上面的代码中,pptr即代表着指针变量ptr的内存地址。而*pptr代表的便是指针ptr的值即var的内存地址,所以**pptr便代表的是var的值。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。