关于指针

简单指针

int *p;

*p是一个int → p是一个指针,它指向int。对p解引用1次得到int。

变形写法如下:

int*(p); //p的类型是int*
int(*p); //*p的类型是int,即对p解引用1次得到int。→(一重)指针指向的是实际数据


二重指针

int **p2;

*p2是一个int* → p2是一个指针,它指向int*。对p解引用2次得到int。

变形写法如下:

int**(p2); //p2的类型是int**,二重指针
int*(*p2); //*p2的类型是int*,即对p2解引用1次得到整形指针
int(**p2); //**p2的类型是int,即对p2解引用2次得到整形指针


三重指针

int ***p3;

*p3是一个int** → p3是一个指针,它指向int**。对p3解引用3次得到int。

变形写法如下:

int***(p3); //p3的类型是int***,三重指针
int**(*p3); //*p3的类型是int**,即对p3解引用1次得到int**。→三重指针指向的是二重指针
int*(**p3); //**p3的类型是int*。→三重指针解引用2次得到一重指针,3-2=1呵呵
int(***p3); //***p3的类型是int。→三重指针解引用3次得到int数据


由上面的例子,解N次引用后的类型=原类型扣除N颗星。

“某某指向”在运算上等同于“对某某解引用1次”。

所以会有:”三重int指针解引用2次后指向int“(解引用2次+指向1次,int***扣除3颗星后得到int)


数组与指针

C语言标准6.1.2.:数组类型 描述相邻接分配的对象的非空集合,该类对象具有特定的成员对象类型,称为元素类型。数组类型由其元素类型和数组中元素的数目表征。称数组类型由其元素类型派生,且若其元素类型为T,则该数组类型有时被称为“T数组”。从元素类型构造数组类型的过程称为“数组类型的派生”。

注:由于对象类型中不包括不完整类型,因此不可能构造一个不完整类型的数组。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值