关闭

const 和指针

59人阅读 评论(0) 收藏 举报
分类:

(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,没有任何限定。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:2730次
    • 积分:71
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:10篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档