const 和指针

转载 2016年08月28日 22:06:18

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

C语言中关于const与指针结合的理解

C语言中const的可变与不可变的关系总结为:只有被const直接修饰的变量最终指向的内容不可变(忽略变量类型修饰符,即int, long等)。...
  • u011408809
  • u011408809
  • 2016年07月05日 19:17
  • 1309

c++const指针与函数调用

在我的博客http://blog.csdn.net/caoyan_12727/article/details/52064958中,已经讨论了动态绑定和静态绑定,以及在缺省参数情况下虚函数的绑定情况。一...
  • caoyan_12727
  • caoyan_12727
  • 2016年09月10日 10:50
  • 397

C++的引用与const指针的关系以及各种传递方式

首先我们知道 const int p 与 int const *p 是一样的,即 *p 是常量;而 int const p 跟上面是不一样的,即 p 是常量;我们知道引用只是一个别名,与变量共享存储...
  • Sandeldeng
  • Sandeldeng
  • 2016年10月24日 23:02
  • 453

const变量通过指针修改 详解

本来以为const变量是无法修改的,今天发现“错了”(其实没错,通过const变量本事是无法修改其值的,但是在“某些情况下”可以通过指向它的指针来间接修改) 一、const变量可以通过指针修改的情况 ...
  • hyqsong
  • hyqsong
  • 2016年03月12日 20:42
  • 1451

const与指针结合的三种情况

//1.const int *p //不能修改指针指向的内存空间中的值 //2.int * const p //不能修改指针本身指向,但是可以修改指向内存空间的值 //...
  • vs9841
  • vs9841
  • 2015年10月29日 09:21
  • 583

C++中引用、指针与const之间的爱恨情愁

学过C语言基础的肯定都知道变量和数据类型是再简单不过的知识,然而这个基础中确有几个泥潭,稍有不慎就粉身碎骨——编程受阻,面试被刷。其中一个就是引用、指针和const,以及相互之间剪不断理还乱的关系。今...
  • xueyushenzhou
  • xueyushenzhou
  • 2016年08月30日 21:59
  • 1659

C语言中的const用法以及常量指针与指针常量(有口诀!)

编了这样的口诀,记住,应该不难: const(*号)左边放,我是指针变量指向常量; const(*号)右边放,我是指针常量指向变量; const(*号)两边放,我是指针常量指向常量; 指针变量...
  • xiaocheng198810
  • xiaocheng198810
  • 2014年11月27日 10:19
  • 3111

关于const常量、const指针以及const引用

这篇博客从头到尾的讲一下关于const的一些问题。 1.const常量 与变量不同,有const修饰的量是常量,常量的值不可改变,在定义的时候必须初始化,使用未初始化的常量是错误的。以前还经常弄不清楚...
  • Mysunshinetbg
  • Mysunshinetbg
  • 2015年09月10日 17:12
  • 4723

对char * const *(*next)(); char * (*c[10])(int **p)的理解从而引发的对函数指针的理解以及const修饰符的用法理解

首先来看下这两句代码: char * const *(*next)(); char * (*c[10])(int **p) 如果不是对函数指针有一定了解的人就会一头雾水,并不清楚这两句代码是什么意思,...
  • u013041681
  • u013041681
  • 2015年12月13日 01:21
  • 769

const指针 与指向const的指针的区别

const 指针与指向const的指针 当使用带有const的指针时其实有两种意思。一种指的是你不能修改指针本身的内容,另一种指的是你不能修改指针指向的内容。听起来有点混淆一会放个例子上来就明白...
  • z1026544682
  • z1026544682
  • 2016年08月09日 09:43
  • 892
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:const 和指针
举报原因:
原因补充:

(最多只允许输入30个字)