C语言中的 指针常量&&常量指针 指针函数&&函数指针 指针数组&&数组指针

这是C语言中比较容易混淆的几个定义,这里集中记录一下笔记

指针常量&&常量指针

char * const p;  //指针常量
const char *p;	 //常量指针
char const *p;	 //常量指针

首先对于这些定义要清除谁是修饰谁是本尊,如“指针常量”,“指针”只是修饰部分,“常量”才是本尊,所以我们申请的一个变量本质是一个常量,不可修改的,那么我们的变量p的指向就是不可修改的,而指向地址的数据是可修改的
对于“常量指针”,“常量”是修饰,“指针”是本尊,那么最终我们的变量p是一个指针,所以说变量指针p是可以修改的,但是指针指向地址的数据是不可修改的

助记:
*号表示指针,const表示常量,观察两者的相对位置,来记忆

指针函数&&函数指针

int * fun(...)  		//指针函数
int (*fun)(...)      //函数指针

根据上面所表述的,谁是修饰谁知本尊
指针函数:
本尊依然是函数,只是返回值是指针
函数指针:
本尊是指针,只是是一个指向函数的指针

指针数组&&数组指针

char *a[12];			//指针数组
char (*a)[12];		//数组指针

指针数组:
本体依然是数组,只是数组总保存的都是指针变量
数组指针
本体依然是指针,只是他是指向数组的指针,(行指针)

对以上的定义大概总结:
首先一般用 char *或者int *这种带类型+修饰的对象,我们其实就可以直接把他看做一种类型,因为这个字符的优先级比较低,所以我们大概可以把它放在最后来看,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值