码迷,mamicode.com
首页 > 其他好文 > 详细

指针和const

时间:2015-03-19 21:45:00      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:

将指针参数声明为指向常量数据的指针有两条理由:

     这样可以避免由于无意间修改数据而导致的编译错误。

     使用const使得函数能够处理const和非const实参,否则将只能接收非const数据。

     如果条件允许,则应将指针形参声明为指向const的指针。

可以有两种不同的方式将const关键字用于指针:

(1)让指针指向一个常量对象、这样可以防止使用该指针来修改所指向的值

         int age=39;

         const int *pt=&age;

该声明中的const只能防止修改pt所指向的值,而不能防止修改pt指向的值。也就是说可以将一个新地址赋给pt

(2)将指针本省声明为常量,这样可以防止改变指针指向的位置

          int sloth=3;

         const int *ps=&sloth;

         int *const finger=&sloth;

   在声明中,finger只能指向sloth,但允许使用finger来修改sloth的值。中间的声明不允许使用ps来修改sloth的值,但允许将ps指向另一个位置,简而言之,finger和*ps都是const,但*finger和ps不是。

记住:如果数据类型本身并不是指针,则可以将const数据或非const数据的地址赋给指向const的指针,但只能将非const数据的地址赋给非const的指针。

指针和const

标签:

原文地址:http://www.cnblogs.com/guangliang/p/4351823.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!