首页 > 资讯 > 知识 > 常量指针,指针常量与常量指针

常量指针,指针常量与常量指针

来源:整理 时间:2023-08-30 04:38:44 编辑:智能门户 手机版

本文目录一览

1,指针常量与常量指针

这个就是int const *和int * const的区别。int const * pc;是定义一个指向常量的指针,这个常量的值是不能变的,但是pc指针本身仍然是个变量,所以我们可以对其进行赋值即:pc = &z,但不能这样*pc = 3,因为*pc代表的是pc所指向的内容,在这里是个常量,常量是不能被赋值的。而int * const cp;因为const紧跟着cp所以cp被定义成常量,这样指针cp的值就不能被改变了,如果y被定义成变量即:int y = 3;那么* cp的值即常量指针cp的值仍然可变,但cp指针本身是个常量。
指针常量是需要被赋值的,算法是从上往下执行,在执行完int * pp = &z;后,指针的赋值是可以改变原来的赋值的,所以*pc改变成&z的值。
常量指针表示指针的值是一个常量,比如int a = 0; int *const ptr= &a;也就是说指针指向的地址是不变的,但是他的内容可变。指针常量是指指针指向的是一个常量,也就是说指针指向地址的值是不变的。比如const int *ptr =0;

指针常量与常量指针

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

int a = 10;int * b = a;//指针const int * c = a;//指向常量的指针int * const d = a;//常量指针const int * const * e = a;//常量指向常量的指针你想问什么b是可以修改自己,就是可以重新指向别人,也可以修改a的数据c是不能修改a的数据,不过可以重新指向别人d是不能重新指向别人不过可以修改a的数据e是既不能指向别人也不能修改a的数据
常量指针表示指针的值是一个常量,比如int a = 0; int *const ptr= &a;也就是说指针指向的地址是不变的,但是他的内容可变。指针常量是指指针指向的是一个常量,也就是说指针指向地址的值是不变的。比如const int *ptr =0;
指针常量:指针指向的内容是不允许修改。常量指针:指针指向的内容是允许修改,指针指向的地址是不允许修改.
常量指针就是指针只能指向常量的地址 常量是什么不用说了吧。。。int a=5;5的地址就是常量,a的是变量。p只能指向常量但是p可以改变,即可以指向不同常量。指针常量就是指针本身指向的地址不能变,即int *p=a; 这个p即&a不能变,但是a可以改变

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

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

①注意一下: 往往中文属于里形式如AB ,那么A是描述,B是本质。 比如 数据库管理系统 数据库管理是描述 系统是本质 比如 函数指针 函数是描述 本质是指针,这个指针指向函数地址 (那本质和描述的区别是?描述变了还是同一大类,本质变了就不是同一大类了) ②言归正传: 常量指针,也就是本质是指针,什么样的指针呢?常量类型的指针,什么叫常量类型的指针呢? 回忆一下函数指针,指向函数地址的指针。 那么常量指针,就是指向常量类型地址的指针。 比如const int * p; 而指针常量,本质是常量。 什么类型的常量?指针类型的常量,为了能够有个术语结构上的对比,你肯定知道整型常量,也知道是这么定义的:const int a; 但指针常量,是这么定义的 : int * const a; const 在 *前面,是常量指针,const在*后面,是指针常量。 ③这二者的区别就是: const int *p 指向的是 const int a=2;的&a;p可以变化但是*p不可以变化。 而int * const p=&a; 意思是描述的是p,p不可变,就如const int a=2; a的值就不能再改变了。那么p不可以变,但是*p可以变。 还有一种是 综合一起的,const int * const p=&a; 这种一旦确定值,*p和p都不能变化。

什么是常量指针指针常量

4,C中什么是常量指针什么是指向常量的指针两者有什么不同

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不可被修改!还有什么问题短消息联系我!
看const的位置,是在*左边还是右边不要管什么常量指针指针常量的,用更多的语言能描述清楚的,就不要试图是思考这些用汉语表达极易被混淆的概念简单来说,如果const出现在*左边,比如const char* a;那么a“所指向的位置的值”不可被修改,也就是a指向的内容是常量,如int a = 3;cosnt int* p = &a;int b = 4;p = &b; // no problem*p = 5; // error相反如果const出现在*右边,比如char* const a;那么a是一个“指向位置”不能被修改的指针,也就是说a本身是个常量,比如int a = 3;int* const p = &a;*p = 5; // no problemint b = 4;p = &b; // error

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

看const的位置,是在*左边还是右边不要管什么常量指针指针常量的,用更多的语言能描述清楚的,就不要试图是思考这些用汉语表达极易被混淆的概念简单来说,如果const出现在*左边,比如const char* a;那么a“所指向的位置的值”不可被修改,也就是a指向的内容是常量,如int a = 3;cosnt int* p = &a;int b = 4;p = &b; // no problem*p = 5; // error相反如果const出现在*右边,比如char* const a;那么a是一个“指向位置”不能被修改的指针,也就是说a本身是个常量,比如int a = 3;int* const p = &a;*p = 5; // no problemint b = 4;p = &b; // error
这个说的比较清楚 http://www.cnitblog.com/mantou/archive/2005/10/05/3074.html
const是用来修饰类型的,一般从位置来判断它所限制的对象。如: const char * v;//这是常量指针,const与char最近,它限制char是常量,即不可被修改,整体看const char即是不可被修改的char类型,再看* v,v是指针变量,这个指针变量指向的类型是const char。 char * const v;//这是指针常量,const与*最近,它限制指针变量是常量,即指针的值不可被修改(即指针指向的内存地址不可修改),这个内存单元被解释为char类型。
(1)常量指针:常量指针就是指向常量的指针,指针所指向的地址的内容是不可修改的。 指针常量定义"const int * pi=&a;"告诉编译,*pi是常量,不能将*pi作为左值进行操作。 所以这里的指针还是一个变量,它的内容存放的是常量的地址。 (2) 指针常量:指针常量就是是指针的常量,它是不可改变地址的指针,但是可以对它所指向的内容进行修改。 定义" int *const pi=&a;"告诉编译,pi是常量,不能作为左值进行操作,但是允许修改间接访问值,即*pc可以修改。 (3)综合(1)(2)可知常量指针常量,其指针值不可改变(不能变为其他地址),指向的内容不可改变 (详细) http://blog.csdn.net/gaoxiaowei/archive/2008/08/22/2814295.aspx
文章TAG:常量指针常量指针

最近更新

  • emc工程师,电源EMC测试评估工程师是干什么的有前途吗emc工程师,电源EMC测试评估工程师是干什么的有前途吗

    电源EMC测试评估工程师是干什么的有前途吗2,EMC工程师发展前景怎么样3,上海昌硕公司的EMC工程师是干什么的4,EMC工程师主要工作内容是什么5,EMC工程师的职业规划有没有清晰的思路6,中兴emc.....

    知识 日期:2023-08-30

  • 扫地机器人科 斯好还是石头好,科袄斯扫地机器人 注册扫地机器人科 斯好还是石头好,科袄斯扫地机器人 注册

    石头扫地机器人科沃斯哪个好?石头扫地机器人哪个比科沃斯好?我觉得后者更好。扫地-2/比较好的品牌有:冰尊扫地-2/、机器人扫地-2/,扫地机器人哪个牌子好?你知道石头技术和科沃斯扫地-2/哪.....

    知识 日期:2023-08-30

  • 模糊聚类,模糊聚类法模糊聚类,模糊聚类法

    模糊聚类法2,模糊聚类法的步骤3,模糊聚类法的特点4,模糊聚类的基本思想是什么5,模糊聚类分析法和聚类分析法有什么区别还有一种动态模糊分析法6,模糊聚类分析的常用分类方法1,模糊聚类法模糊.....

    知识 日期:2023-08-30

  • 双绕组变压器,三绕组双绕组 自耦变压器有何异同双绕组变压器,三绕组双绕组 自耦变压器有何异同

    三绕组双绕组自耦变压器有何异同2,什么是双绕组变压器3,怎样的变压器叫双绕组变压器4,双绕组变压器的作用是什么啊5,双绕组变压器和三绕组变压器三相变压器之间的区别是什么6,什么是双线圈.....

    知识 日期:2023-08-30

  • 大数据中心门户,ⅠDC大数据中心大数据中心门户,ⅠDC大数据中心

    其中数据中心中国大学数据中心位于贵州。江门大数据管理中心怎么样?数据中心物联网和大数据路线图数据中心物联网和大数据路线图从数据中心的角度来看,物联网和大数据项目几乎都在强调网.....

    知识 日期:2023-08-30

  • 伊利诺机器人,苏州伊利诺护理机器人好用吗伊利诺机器人,苏州伊利诺护理机器人好用吗

    I.伊利诺伊利诺伊州最好的大学有哪些?伊利诺伊拉克大学香槟分校有传媒专业吗?美国伊利诺伊利诺伊有哪些大学推荐?伊利诺-0/S位于哪些大学?大学主要有芝加哥大学、西北大学、伊利诺S理工学.....

    知识 日期:2023-08-30

  • 单精度浮点数,什么是 浮点数什么是单精度双精度数 解释越简洁越好 谢谢单精度浮点数,什么是 浮点数什么是单精度双精度数 解释越简洁越好 谢谢

    什么是浮点数什么是单精度双精度数解释越简洁越好谢谢2,什么是单精度浮点数和双精度浮点数3,什么是单双精度浮点数4,单精度和双精度浮点数里面解释如下谁能给我详细解释一下呢搜5,C语言怎.....

    知识 日期:2023-08-30

  • 浮动车,浮动车法可以获取哪些数据浮动车,浮动车法可以获取哪些数据

    浮动车法可以获取哪些数据2,什么是浮动车辆什么是浮动车辆数据方式这涉及到智能交通系统3,什么是浮动车孔请具体说明最好有图跪求4,这个浮动车系统监测的原理是什么5,怎么根据浮动车匹配的.....

    知识 日期:2023-08-30