const 和指针

(1)char *pp是一个工作指针,可以用来对任意位置 (非系统敏感区域)进 行读操作和写操作 ,一次读写一个字节(char占一个字节)。

(2)const char*p或者char const *p(因为没有const*p运算,因此const修饰的还是前面的char):可以对任意位置(非系统敏感区域)进行只读操作。(只读是相对于char *p来说所限定的内容

(3)char *const pconst 修饰的是p):只能对某个固定的位置 行读写操作,并且在定义p时就必须初始化(因为在后面不能执行“p=..”的操作,因此就不能在后面初始化,因此只能在定义时初始化)。(某个固定的位 是相对于char *p来说所限定的内容)

(4)const char **p或者char const**p :涉及两个指针p *p。由于const修饰char ,对指针p没有任何限定,对指针*p进行了上面情况(2)的限定。

(5)char *const *p:涉及两个指针p *p。由于const修饰前面的char*,也就是对p所指向的内容*p进行了限定(也属于前面的情况(2))。而对*p来说,由于不能通过"*p..."来进行另外赋值,因此属于前面的情况(3)的限定。

(6)char **const p 涉及两个指针p *pconst修饰p,对p进行上面情况(3)的限定,而对*p,没有任何限定。

阅读更多
个人分类: iOS
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

const 和指针

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭