鱼C论坛

 找回密码
 立即注册
查看: 60|回复: 6

[已解决]关于书《带你学c带你飞》中的一个问题

[复制链接]
发表于 2020-11-22 11:27:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 zhangjunxian 于 2020-11-22 11:28 编辑

我在小甲鱼的书《带你学c带你飞》中  看到的 常量指针的 介绍 是 int * const p  意思是 不可以修改指针指向的地址 但是可以通过解引用 修改指向的值   
但是 我在百度百科 上 常量指针的 介绍 是  const int *p   不可以通过解引用的方式 修改指向的值  。弄得我都乱了,到底是什么鬼。。。
最佳答案
2020-11-22 11:34:27
int * const p  与  const int *p 不是同一个东东,一个是指针常量,一个是常量指针,它们的区别:

1.指针常量与常量指针的概念

指针常量就是指针本身是常量,换句话说,就是指针里面所存储的内容(内存地址)是常量,不能改变。但是,内存地址所对应的内容是可以通过指针改变的。

常量指针就是指向常量的指针,换句话说,就是指针指向的是常量,它指向的内容不能发生改变,不能通过指针来修改它指向的内容。但是,指针自身不是常量,它自身的值可以改变,从而指向另一个常量。

2.指针常量与常量指针的声明

指针常量的声明:数据类型 * const 指针变量。

常量指针的声明:数据类型 const * 指针变量 或者 const 数据类型 *指针变量。

常量指针常量的声明:数据类型 const * const 指针变量 或者 const 数据类型 * const 指针变量。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2020-11-22 11:30:30 | 显示全部楼层
到底 常量指针 和 指针常量 分别指的是啥
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2020-11-22 11:34:27 | 显示全部楼层    本楼为最佳答案   
int * const p  与  const int *p 不是同一个东东,一个是指针常量,一个是常量指针,它们的区别:

1.指针常量与常量指针的概念

指针常量就是指针本身是常量,换句话说,就是指针里面所存储的内容(内存地址)是常量,不能改变。但是,内存地址所对应的内容是可以通过指针改变的。

常量指针就是指向常量的指针,换句话说,就是指针指向的是常量,它指向的内容不能发生改变,不能通过指针来修改它指向的内容。但是,指针自身不是常量,它自身的值可以改变,从而指向另一个常量。

2.指针常量与常量指针的声明

指针常量的声明:数据类型 * const 指针变量。

常量指针的声明:数据类型 const * 指针变量 或者 const 数据类型 *指针变量。

常量指针常量的声明:数据类型 const * const 指针变量 或者 const 数据类型 * const 指针变量。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2020-11-22 11:41:04 | 显示全部楼层
风过无痕1989 发表于 2020-11-22 11:34
int * const p  与  const int *p 不是同一个东东,一个是指针常量,一个是常量指针,它们的区别:

1. ...

这个是百度的  小甲鱼书上 写的  常量指针 是 int *const p   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2020-11-22 12:16:50 | 显示全部楼层
行吧 我在网上的查到了 , 在c++primer 中 没有出现 指针常量 这个说法 只有 两种 说法   分别是常量指针  和指向常量的指针 这两个 和小甲鱼的书上是对应的 ,根据 c++primer 的定义
常量指针 指的是  int * const p  而指向常量的指针 是 const int *p   
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2020-11-22 12:18:10 | 显示全部楼层
所以 网上关于 常量指针和指针常量 的说法是错误的  ?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2020-11-22 12:21:15 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1

GMT+8, 2020-12-5 19:38

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表