当前位置: 首页 > news >正文

免费行情软件网站下载大全爱怎么做产品网站

免费行情软件网站下载大全爱,怎么做产品网站,安徽网站优化多少钱,网页网站开发项目设计先看下面六种写法#xff1a; 1. const int p;2. const int *p;3. int const* p;4. int * const p;5. const int * const p;6. int const * const p; 那么我们应该怎么区分上面的写法到底是指向常量的指针还是const指针(表示指针本身是常量)呢#xff1f; 一个简便方法#…先看下面六种写法 1. const int p;2. const int *p;3. int const* p;4. int * const p;5. const int * const p;6. int const * const p; 那么我们应该怎么区分上面的写法到底是指向常量的指针还是const指针(表示指针本身是常量)呢 一个简便方法从由往左读遇到p就替换为“p is a”遇到*就替换为“point to”其余不变。 下面我们来一个一个看 1. const int p; // p is a int const. p是一个int型常量 这个很简单2. const int *p; //p is a point to int const. p是一个指针指向int型常量。即p是一个指向int型常量的指针。3. int const* p; //与2相同 const int 和 int const 是一样的意思。《C primer》中采用第一种写法。4. int * const p; // p is a const point to int. p是一个指向int的const指针5. const int * const p; //p is a const point to int const. p是一个指向int型常量的const指针。6. int const * const p; //同5 知道怎么区分const指针和指向常量的指针我们再来看看它们的定义。 指向常量的指针point to cosnt不能用于改变其所指对象的值。比如 const double pi 3.14; // pi是一个常量不能改变它的值const double *cptr pi; //cptr指向pi,注意这里的const不能丢因为普通指针不能指向常量*cptr 3.33; //错误,试图改变所指对象的值。不能给*cptr赋值即不能改变指针所指对象的值cout cptr endl//输出cptr的值//虽然不能改变其所指对象的值但是它可以指向别的常量对象 //这样的话 指针的值也就是存放在指针中的那个地址也会改变 比如 cosnt double pi2 6.28;cptr pi2; //正确 *cptr为6.28 cout cptr endl //cptr的值变了 const指针表示指针本身是一个常量。由于指针是对象因此就像其他对象一样允许把指针本身定为常量。cosnt指针必须初始化并且一旦初始化const指针的值就不能改变了。const指针的值到底是什么其实就是存放在指针中的地址这个地址是一个对象的地址。 把*放在const前面就表示指针是一个常量这样的书写形式意味着不变的是指针本身的值而不是指向的对象的值内容。也就是说那个地址不能再变了但是我们可以改变那个地址上存放的内容。比如 int i 42;int * cosnt p i //p是一个const指针不能给p赋值cosnt int i2 44;p i2; //错误 试图给p赋值//虽然不能给p赋值也就是不能改变p的值但是我们可以通过p改变p所指的对象的内容。比如*p 46; //正确 此时i为46 指针本身是一个常量即const指针并不意味着不能通过指针修改其所指对象的值能否这样做完全依赖于所指对象的类型。比如 const double pi 4.4;const double *const pip pi; //pip是一个指向常量对象的const指针还记得文章开头的方法吗。 pip是一个指向常量的常量指针则不论pip所指的对象值还是pip自己存储的那个地址都不能改变。相反上例中的p指向的是一般的非常量整数所以p可以修改i的值。 完整代码 #include iostream using namespace std;int main(int argc, char const *argv[]) {const int b 11;const int *p2 b; //指向常量的指针 底层const 不能改变p2的所指对象的值 但是可以改变p2的值即指针的指向 前提是仍然指向一个常量cout *p2 endl; //11cout p2 endl; //0x72fe38const int c 22;p2 c;cout *p2 endl; //22cout p2 endl; //0x72fe34地址发生了改变int i 9;int *const p1 i; //指针是一个常量即常量指针顶层const 不能改变p2的值存放在p2中对象的地址 但是可以改变对象的内容cout p1 endl; //0x72fe3c 这个地址不会再改变了*p1 88;cout i endl; //88cout *p1 endl; //88cout p1 endl; //0x72fe3creturn 0; } 对于指针来说顶层const表示指针本身是一个常量底层const表示指针所指的对象是一个常量。所以const指针是顶层cosnt而指向常量的指针是底层const。  转载于:https://www.cnblogs.com/bencai/p/8888760.html
http://www.zqtcl.cn/news/326933/

相关文章:

  • 最流行的网站开发框架wordpress阅读权限
  • 怎么做推广网站创立网站
  • 制作自己的网站需要什么材料网站计费系统怎么做
  • 网站和域名的区别昆山网站开发建设公司
  • 兼职网站推广如何做西安市商标局
  • 打开网站说建设中是什么问题莱芜金点子招小时工
  • 做网站的相关协议秦皇岛解封最新消息今天
  • 网站托管维护方案新闻媒体发稿平台
  • 网站扩展名四平网站建设怎么选
  • 网站制作价格与售后视频网站建设有什么意义
  • 网站建设+太原1核1g可以做几个网站
  • 电商设计网站有哪些内容西安百度推广外包
  • 深圳网站建设价格多少做废旧金属的网站
  • wordpress 文档超级优化空间
  • 湖北seo网站推广官方网站怎么制作
  • 随州网站seo诊断wordpress 只显示一个主题
  • 建站登录可信网站认证 费用
  • 互站网站源码用jsp做网站一般会用到什么
  • 个人免费设计网站fomo3d 网站怎么做
  • 菏泽做网站公司公关公司经营范围
  • 钓鱼网站营销型网站建设实战
  • 可以下载电影的网站怎么做做网站公司西安
  • 自己做签名网站网店美工培训教程
  • 宁波产品网站设计模板php 网站 教程
  • 制作一个网站的费用是多少免费网站空间怎么
  • 如何建立自己的微网站网站建设教程怎么建
  • seo网站项目讲解沈阳网红
  • 苏州大型网站建设公司网站外链优化
  • 阿里云购买域名后怎么建网站沂南网站设计
  • 网站建设基础考试php网站开发入门