让你不再害怕指针
前言
:
复杂类型说明
要了解指针
,
多多少少会出现一些比较复杂的类型
,
所以我先介绍
一下如何完全理解一个复杂类型
,
要理解复杂类型其实很简单
,
一
个类型里会出现很多运算符
,
他们也像普通的表达式一样
,
有优先
级
,
其优先级和运算优先级一样
,
所以我总结了一下其原则
:
从变量名处起
,
根据运算符优先级结合
,
一步一步分析
.
下面让我们先从简单的类型开始慢慢分析吧
:
int p;
//
这是一个普通的整型变量
int *p;
//
首先从
P
处开始
,
先与
*
结合
,
所以说明
P
是一
//
个指针
,
然后
再与
int
结合
,
说明指针所指向
//
的内容的类型为
int
型
.
所以
P
是一个返回整
//
型数据的指针
int p[3];
//
首先从
P
处开始
,
先与
[]
结合
,
说明
P
是一个数
//
组
,
然后与
int
结合
,
说明数组里的元素是整
//
型的
,
所以
P
是一个由整型数据组成的数组
int *p[3];
//
首先从
P
处开始
,
先与
[]
结合
,
因为其优先级