常量指针与指针常量的区别(c++常量指针,和指针常量和常量指针常量这些都有啥区别的哈!)

2025-03-13 20:10:03 0

常量指针与指针常量的区别(c++常量指针,和指针常量和常量指针常量这些都有啥区别的哈!)

本文目录

c++常量指针,和指针常量和常量指针常量这些都有啥区别的哈!

const是用来修饰类型的,一般从位置来判断它所限制的对象。如:constchar*v;//这是常量指针,const与char最近,它限制char是常量,即不可被修改,整体看constchar即是不可被修改的char类型,再看*v,v是指针变量,这个指针变量指向的类型是constchar。char*constv;//这是指针常量,const与*最近,它限制指针变量是常量,即指针的值不可被修改(即指针指向的内存地址不可修改),这个内存单元被解释为char类型。

常指针与指针常量的区别

1 常量指针!如 int b, c; int * const a = &b 表示a是一个常量指针它指向变量b的内存。但是因为是常量指针所以不能再用a指向其他变量,如 a = &c 错误!可以修改指向内存的值,如:*a = 20; BTW 常量指针声明的时候必须向我那样赋初值。 2 指向常量的指针!如 int b, c; int const *a; a = &b a = &c 都可以,唯独它指向的内存不能被修改。如:*a=20;这是违法的!错误! 这就是主要区别! BTW 还有一个记住他们不同形式的技巧!看const关键字,他后面的不可修改,如int * const a = &b 后面是a,则说明a不能修改! int const * a = &b后面是*a则说明*a不可被修改! 在好多书上或MSDN是经常用 const int a=5;int b=6;const int *p=&b其实 const int* 和int const* 一样,就是常指针 也就是它所指向的数据(在这是int)是常量,它自己的数据类型是const int* 还有const int *p=&b是可以的 虽然b不是常量。但是 const int a=6; int *p=&a会报错,因为它消除了a的const属性*****************************************************我们可以总结一下********1. 对于常量(符号常量)和常指针、常引用常对象声明都是一样的定义格式: const 数据类型 常量名=常量值;或 数据类型 const 常量名=常量值;例如:const int a=7; 或 int const a=7;(符号常量) int b=5; const int *p=&b 或 int const *p=&b(常指针)const int &m=b;(常引用)const Point pt; 或 Point const pt; //常对象不能更新常指针和常引用在功能上有所限制,就是不能通过他们更改其指向的变量的数据(值)2. 指针常量定义格式: 数据类型 *const 指针常量=常量值;如char ch,*const pch=&ch(我是一步完成的,你也可以分开)也就是说这个指针本身是个常量,不可改变,即它所指向的地址是固定的。但,ch是可以改变的。************************************下面是MSDN中关也常对象的说法///////////////////////////////////Initializing Pointers to const ObjectsA pointer to a const object can be initialized with a pointer to an object that is not const, but not vice versa. For example, the following initialization is legal:Window StandardWindow;const Window* pStandardWindow( &StandardWindow );In the preceding code, the pointer pStandardWindow is declared as a pointer to a const object. Although StandardWindow is not declared as const, the declaration is acceptable because it does not allow an object not declared as const access to a const object. The reverse of this is as follows:const Window StandardWindow;Window* pStandardWindow( &StandardWindow );The preceding code explicitly declares StandardWindow as a const object. Initializing the nonconstant pointer pStandardWindow with the address of StandardWindow generates an error because it allows access to the const object through the pointer. That is, it allows removal of the const attribute from the object.///////////////////////////////////////有问题我们再到HiKe电脑吧讨论!来源:http://hike.bokee.com/6169539.html

C++ 引用和指针的区别 常量指针和指针常量

常量指针,就算指针的地址不变。但是指针里面的内容是可以变的。类比:我那条红色、尼龙的绳子,可以拴马,也可以捆柴。我的绳就算我的绳子,谁都不准用我的绳子【绳子是常量,归我所有,不可改变,但是绳子想拴什么就拴什么】。指针常量:指向不可变常量的指针,类比:拴我的马的绳子,谁的绳子都可以来拴我的马,但是马是我的【马是常量归我所有,马不可变】。

指针常量和常量指针的区别

常量指针,定义语法是 数据类型 const * 变量名;如,int const * p1;定义后可以改变该指针的指向却改变不了值。指针常量,定义语法是数据类型 * const 变量名;如,int * const p2;和常量指针相反,可以改变值但是不可改变指向地址。

C++中,常量指针和指针常量的区别如何记忆

常量指针 是指向常量的指针。表示指针本身值可以改,但指向值不可以改。即p的值可以变,但是*p不能变形式是const TYPE *p; 或者 TYPE const *p;指针常量 是说指针本身是常量。 也就是p不可以改,但是*p是可以改的。形式是TYPE * const p; 复合起来 就是常量指针常量。。。 绕口吧,就是这样定义const TYPE * const p;p和*p都不能改。

c语言中指针常量和常量指针分别是什么意思

根据汉语的语法规则,这是一个偏正短语,中心在后面前面的是形容词。所以指针常量是:一个常量值,即确定的不会发生变化的值。指针这个形容词怎么理解呢?说明这个常量对应的是一个指针的值。举个例子就像你的出生地址,这可以理解为一个指针常量。常量指针呢?说明这个数据类型是一个指针,这个指针存储的是什么呢?是一个常量的地址。

什么是常量指针,指针常量

首先,定义一个常量的关键字是const ,其实这里面有一个被大家都默认为正确的错误,那就是用const定义的常量,其本质还是一个变量,因为内存会分配地址给保存起来,如果用define定义的常量才是真正的常量,这个内存是不会分配空间的,那怎么区别呢,因此内行人都将用const定义的成为只读变量,只读的意思就是只能读取他的值,而不能重新给他赋值。记住了哦~这个问题说难也难,说简单也简单,看下边答案的时候要记住,指针是一个变量,他有自己的内存空间,保存的是他指向变量的地址,记住,指针的值是地址,这样理解。1.常量指针 指的是指针的值是不能被改变的,就是指针的值是常量,假设int *const p;关键点来了: const 修饰的是p,p是一个指针,我们知道指针也是一个变量,内存也会分配空间给他,他里面存的是地址,这样我们根据const关键字的属性就知道了: 指针变量p里面的值是不能改变的,指针变量里面是什么呢? 对,是地址。正是由于他是不能改变的,所以我们一定要在定义的时候初始化,比如 int i=20; int *const p= &i以下操作: p =&i2 不行,因为p的值是不能改变,就是他不能指向别的地址。 *p =100; 正确,因为他改变的不是p的值,而是相当于改变他指向的变量的值。2.指针常量形式 int const *p ;注意,const 关键字,int的位置可以互换,不影响,注意*号与const的位置关键点: const 修饰的是 *p (这个是重点);我们知道p里面是一个地址,那么*p就是他所指向的地址里面的数据,是一个值,不是一个地址了。那是什么意思了,const的意思你还记得吗?就是定义一个只读的变量,就不不能改变他值的变量,那么这条语句的意思就是:*p的值是不能改变的:假设下面语句int i1 = 30; int i2 = 40; const int *pi = &i1 pi = &i2 /* 注意这里,pi可以在任意时候重新赋值一个新内存地址*/ i2 = 80; /* 想想看:这里能用*pi = 80 来代替吗?当然不能!*/ printf(“%d\n“, *pi); /* 输出是 80 */ 语义分析: 看出来了没有啊,pi 的值是可以被修改的。即它可以重新指向另一个地址的,但是,不能通过*pi 来修改 i2 的值(这句话是关键)。不能通过*p的方式来改变并不是说i1,i2不能改变,就是他指向的变量的值是可以改变的,但是不能通过*p = 40 的方式来改变。这个问题花了我好久才弄明白,楼主自己再琢磨琢磨,可以到机器上去实验已下,印象更深刻~祝你进步!

指针常量和常量指针的区别如何记忆

看const在哪里:数据类型 * 指针变量名; 这个声明格式 指针变量名前面有3个空白可以加入const前面两个都是修饰的指针,都是指向常量的指针,比如int const *p; 或者const int *p;自己可以变,但是不能通过这个指针来改变指针指向的目标最后一个,const 距离变量名最近,因此指针是常量,自己不能改变了,但是可以通过这个指针改变指针指向的目标

常量指针与指针常量的区别(c++常量指针,和指针常量和常量指针常量这些都有啥区别的哈!)

本文编辑:admin

更多文章:


C语言教程?谁给推荐几本C语言教程书(详细的)

C语言教程?谁给推荐几本C语言教程书(详细的)

本文目录C语言教程谁给推荐几本C语言教程书(详细的)自学C语言教程C语言经典教程有哪些c语言的学习方法推荐比较好的c语言教材单片机C语言编程买什么书大家有没有关于C语言,的视频免费教学网站!自学!学习C语言的有效网址请问那本书学习单片机C语

2025年3月3日 13:00

displayport无信号怎么解决(显示器DP口无信号)

displayport无信号怎么解决(显示器DP口无信号)

本文目录显示器DP口无信号电脑打不开了,怎么回事,显示屏总显示无信号电脑开机显示无信号然后黑屏电脑显示displayport没有信号是什么意思显示器无信号软件导致的dp无信号怎么办电脑主机开着但是显示器显示无信号怎么办显示器DP口无信号方便

2025年3月5日 12:30

aspnet教程视频(学习ASP.net,请推荐一下书籍和视频教程)

aspnet教程视频(学习ASP.net,请推荐一下书籍和视频教程)

本文目录学习ASP.net,请推荐一下书籍和视频教程求基于C#的asp.net视频教程,适合于初学者.谢谢学习ASP.net,请推荐一下书籍和视频教程呵呵我给你一个吧我也正在学他呢,这个视屏他简单易懂,是动漫样式的,很容易学会的,学习方式很

2025年3月15日 23:40

免费空间官网(那个网站可以提供免费的空间来办网站)

免费空间官网(那个网站可以提供免费的空间来办网站)

本文目录那个网站可以提供免费的空间来办网站申请免费空间的网站哪里有永久免费的网站空间谁有免费空间的网站啊谁给我几个好用的免费网站空间网址那个网站可以提供免费的空间来办网站有一个叫《酷站快车》的个人网站自助创建软件,做出的网站相当酷.这个软件

2025年3月27日 13:30

遗传算法例题(遗传算法的模拟 数据结构题目)

遗传算法例题(遗传算法的模拟 数据结构题目)

本文目录遗传算法的模拟 数据结构题目遗传算法在数学上的应用请问什么是遗传算法,并给两个例子请教一道遗传算法的题(要用C++编程解题)第9章怎样研究算法遗传算法示例练习题答案解析遗传算法的模拟 数据结构题目我这里给出了一个简单的模板如果需要编

2025年4月1日 12:50

架设邮件服务器(电子邮件服务器的架设方法)

架设邮件服务器(电子邮件服务器的架设方法)

本文目录电子邮件服务器的架设方法怎么使架设邮件服务器公司自己架设邮件服务器,需要准备哪些东西~~~请详细说明一下谢谢~~~~如何架设邮件服务器怎样申请域名架设邮件服务器如何用IIS搭建邮件服务器电子邮件服务器的架设方法用 Win2003 架

2025年3月27日 16:10

堆栈指针sp的作用是什么(堆栈指针sp的作用)

堆栈指针sp的作用是什么(堆栈指针sp的作用)

本文目录堆栈指针sp的作用单片机RAM中,sp的作用是什么堆栈指针(sp)的作用是什么在程序设计时,为什么还要对 sp重新赋值什么是堆栈说明堆栈指针SP的作用栈指针SP的作用是什么修改SP指针的目地是什么堆栈有哪些功能堆栈指示器(SP)的作

2025年2月11日 22:40

swift语言(swift是静态语言吗)

swift语言(swift是静态语言吗)

本文目录swift是静态语言吗什么是Swift语言,与C和Object-C是什么关系大学生自学swift语言有用吗swift语言坑死ios开发者,这样怎么说呢有基础入门课程推荐吗Swift 适合编程零基础的人学习吗swift是静态语言吗是静

2025年3月26日 10:50

论坛源码完整版(论坛源码怎么装)

论坛源码完整版(论坛源码怎么装)

本文目录论坛源码怎么装求C#.NET的bbs论坛源代码论坛源码怎么装1:将你的域名用A记录解析到空间IP(本地调试不用); 2:下载论坛源码,比如dz pw 程序源码,并将源码用FTP软件上传到空间根目录;3:运行你的域名进行安装(安装过程

2025年3月7日 00:20

indicate词根词缀(co前缀是什么意思)

indicate词根词缀(co前缀是什么意思)

本文目录co前缀是什么意思求词根词缀大全!求英语中常用的 前缀 后缀 和 词根什么叫词根有没有词根表intact的词根后缀高中需要掌握的一些重点词根,词缀…听说背英语单词还有词根是不是啊co前缀是什么意思co-前缀 pref. 的意思

2025年3月21日 13:00

exclusively翻译(“外企”用英语怎么说啊)

exclusively翻译(“外企”用英语怎么说啊)

本文目录“外企”用英语怎么说啊请问这几句英文的翻译多谢“外企”用英语怎么说啊外企,其实是中文的简称,指的是“外商投资企业”,这里有两种可能,一是独资企业,而是合资企业。分别翻译如下:1、外资企业:foreign-capital enterp

2025年3月3日 10:20

wsdl url is not valid(The URL is not valid and cannot be loaded.是什么意思)

wsdl url is not valid(The URL is not valid and cannot be loaded.是什么意思)

本文目录The URL is not valid and cannot be loaded.是什么意思使用Eclipse解析WSDL文件出错了大虾帮看看soapui工具添加wsdl时候报错,java.lang.Exception: Fail

2025年4月5日 00:20

iis配置ftp(IIS里的FTP怎么设置)

iis配置ftp(IIS里的FTP怎么设置)

本文目录IIS里的FTP怎么设置window10 iis配置ftp怎么打开在IIS里怎么设置FTP服务器IIS里的FTP怎么设置先安装FTP模块,然后开启FTP服务、创建windows用户,windows用户创建好后,点ftp右键,选择“权

2025年3月8日 23:40

csv验证是什么意思(csv是什么东西)

csv验证是什么意思(csv是什么东西)

本文目录csv是什么东西关于德牧的CSV认证,什么是CSV认证csv什么意思csv是什么东西CSV文件及其使用CSV文件及其使用 在集图的过程中,你肯定会常常听到CSV文件这个词。那么所谓CSV文件到底是个什么东西呢? 它有什么用处

2025年3月30日 14:10

n是名词,v是动词,adj形容词,vt、vi、abbr、ady是什么,再补充一点类似的,谢谢?abbr是什么意思

n是名词,v是动词,adj形容词,vt、vi、abbr、ady是什么,再补充一点类似的,谢谢?abbr是什么意思

本文目录n是名词,v是动词,adj形容词,vt、vi、abbr、ady是什么,再补充一点类似的,谢谢abbr是什么意思abbr.代表什么词性n是名词,v是动词,adj形容词,vt、vi、abbr、ady是什么,再补充一点类似的,谢谢vt是及

2025年3月19日 03:50

css行内样式代码(div怎么css行内样式)

css行内样式代码(div怎么css行内样式)

本文目录div怎么css行内样式css代码模块 如何放入body中(淘宝自定义区域里如何加入css代码,如何把css代码改为行内样式)CSS样式,怎么变成CSS行内样式CSS的三种使用方法 行内样式: 内嵌式: 外部式:css内部样式表怎么

2025年3月22日 09:10

excuse要不要浊化(以ex打头的单词什么时要浊化,如excuse ,export 都要浊化吗)

excuse要不要浊化(以ex打头的单词什么时要浊化,如excuse ,export 都要浊化吗)

本文目录以ex打头的单词什么时要浊化,如excuse ,export 都要浊化吗ex后面要不要浊化exclusive,excuse要浊化么英语中浊化是什么basketball,strawberry要浊化么(其他问题在下面,回答完整)英语ex

2025年3月7日 18:10

recognized是什么意思(recognised什么意思)

recognized是什么意思(recognised什么意思)

本文目录recognised什么意思“recognize”是什么意思recognised什么意思recognise: v. 承认,识别,认可recognised:过去分词,估计你是要当形容词用.那就解释成被认可的,被承认的. 不用举例了

2025年2月14日 18:00

ignore的意思(Ignore英文里是什么意思)

ignore的意思(Ignore英文里是什么意思)

本文目录Ignore英文里是什么意思overlook和ignore的用法有什么区别Ignore英文里是什么意思ignore英驳回(诉讼)第三人称单数:ignores现在分词:ignoring过去式:ignored过去分词:ignoredov

2025年3月24日 18:00

ridiculous什么意思(ridiculous什么意思)

ridiculous什么意思(ridiculous什么意思)

本文目录ridiculous什么意思ridiculous丶什么意思absurb 与ridiculous的区别ridiculous是什么意思ridiculous什么意思ridiculous 英 adj. 1.可笑的,荒谬的,愚蠢的,荒唐

2025年3月5日 09:40

近期文章

本站热文

harbor,port,pier的区别?谁能解释“harbour“(港口)与“pier“(码头)的区别
2025-02-22 17:40:03 浏览:18
ibatis foreach(ibatis 批量update操作)
2025-02-10 23:40:06 浏览:7
endless rain(endless rain表达什么情感)
2025-02-14 06:00:02 浏览:6
标签列表

热门搜索