指针访问数据通常佯镧诱嚣只有两种方法,一种是借助于运算符*,一种是借助于运算符->,这-->运算符多用于struct结构体类型的指针,非struct类型的指针多数用于*来访问数据,接下来针对不同的指针类型,来简单的学习一下指针怎么访问数据。
一、普通指针
1、普通指针使用*来访问指针数据,比如下面的代码,不论是读取指针p的内容还是向指针p所指内容写入数据,都是用的*号运算符。
2、运行结果如下图所示。
二、指针数组
1、指针数组即指针的数组,它与普能指针的访问数据方法类似,也是使用*号运算符,不同在于指针的类型是指针数组 。
2、上面代码运行效果如下图所示。
三、数组指针
1、数组指针是指向数组类型的指针,此类指针访问数据用的是*运算符,但是需要加上括号,这里的语法还是为了编译器能认出数组指针,如下面的代码所示,已经添加注释。
2、上面代码执行效果如下图所示。
四、函数指针
1、函数指针是指向函数的指针,函墙绅褡孛数名称本身在C语言中就是一个地址,所以其实用函数指针和调用函数名称是一样的,只是换个名称,当然函数指针的意义并不在换个名称而已。这里只说简单的说明指针如何访问数据 ,如下面的代码,定义了一个hello的函数,然后定义了一个函数指针,直接按函数正常调用方式即可访问hello函数。
2、代码执行效果如下图所示,正常调用hello 函数。
五、结构体指针
1、前面提到结构体指针多数用->运算符来访问数据 ,具体可以参考以下代码,先定义了一个矩形的结构体,接下恝依在绌来在主函数中定义了一个diban的变量(就是地板)和一个指针,用指针指向变量diban。可以看到使用->运算符来给diban变量的长宽赋值 ,最后计算其面积也是使用的->运算符。
2、上面的代码执行效果如下图所示。