常量指针与指向常量的指针
这两个概念经常很容易混淆,下面简单分析一下
1.常量指针:
int * const p : const p 就是一个常量,然后再看*,可以看出是一个常量类型的指针,即int类型的常量指针。不能修改这个指针的指向,但是这个指针所指向的地址上存储的值可以修改。
(常量指针指向int, 常量指针肯定是无法改变地址,但指向的int值能改变)
代码实例
code1:#include<iostream> #include<stdlib.h> using namespace std;void main() {int i1=30;int i2=40;int * const pi=&i1; //这里的pi指针是常量,指向了i1地址//pi=&i2; //注意这里,pi不能再指向另一个新地址。所以我已经注释了它。printf("%d\n", *pi ) ; //输出是30i1=80; //想想看:这里能用*pi=80;来代替吗?可以,这里可以通过*pi修改i1的值。printf("%d\n", *pi ) ; //输出是80system("pause"); }
code 2:
char char_A = 'A';
char char_B = 'B';
char * const myPtr = &char_A;
myPtr = &char_B; // error - can't change address of myPtr
2.指向常量的指针
const int *p : *p就是一个指针,这个指针指向一个常量,不能通过指针来修改这个指针指向的值。
(指针指向一个常量int值,指针可以改变指向,但是所指向的值不能通过指针来改变)
代码实例
code1: #include<iostream> #include<stdlib.h> using namespace std;void main() {int i1=30;int i2=40;const int * pi=&i1;printf("%d\n", *pi ) ; //输出是30pi=&i2; //注意这里,pi可以在任意时候重新赋值一个新内存地址i2=80; //想想看:这里能用*pi=80;来代替吗?当然不能printf("%d\n", *pi ) ; //输出是80 system("pause"); } code2:
char char_A = 'A'; const char * myPtr = &char_A; *myPtr = 'J'; // error - can't change value of *myPtr
转载于:https://www.cnblogs.com/huangliang-hb/p/9224288.html
常量指针与指向常量的指针相关推荐
- [C++基础]018_常量指针和指向常量的指针
先来看一下什么是常量指针,什么是指向常量的指针吧! 1. 常量指针定义 1 int * const ptr = new int(); 2. 指向常量的指针 1 const int* ptr; 上面已经 ...
- const指针和指向常量的指针
先看下面六种写法: 1. const int p;2. const int *p;3. int const* p;4. int * const p;5. const int * const p;6. ...
- 【转】const int *p和int * const p的区别(常量指针与指向常量的指针)
[转]作者:xwdreamer 出处:http://www.cnblogs.com/xwdreamer 对于指针和常量,有以下三种形式都是正确的: const char * myPtr = &am ...
- 常指针和指向常量的指针
最近在学习引用,有一些学习心得,记录如下: 1:引用是变量的别名 int a; int b&=a; 要注意引用只有声明,而没有定义,并且引用必须在声明的时候进行初始化,一旦与某个变量关联起来, ...
- 字符串的指针和指向字符串的指针变量
引自:http://s319.dlut.edu.cn/educ/83.htm §8.4 字符串的指针和指向字符串的指针变量 8.4.1 字符串的表现形式 在C程序中,可以用两种方法实现一个字符串. ...
- 深入浅出C语言:(三)C 语言数组指针(指向数组的指针)
目录 一.C 语言数组指针(指向数组的指针) 二.C 语言字符串指针(指向字符串的指针) 三.C 语言指针数组(数组每个元素都是指针) 四.二维数组指针(指向二维数组的指针) 五.指针数组和二维数组指 ...
- 超详细的const 指针与指向const的指针
最近在复习C++,指针这块真的是重难点,很久了也没有去理会,今晚好好总结一下const指针,好久没有写过博客了,记录一下~ const指针的定义: const指针是指针变量的值一经初始化,就不可以改变 ...
- const指针和指向const的指针
今天在看项目代码时,发现竟然可以给有const修饰的指针赋值,按道理的话,const修饰的不是常量吗?常量应该是初始化之后就不能再修改才对.对于这个问题,我大致的研究了一下. 参考const 指针与指 ...
- const指针与指向const的指针
const指针与指向const的指针 const指针 如下代码: int main() {int num = 42;int* const p = # // p是常量指针,指向一个整型数cout < ...
- const与指针:指向const的指针与const指针的区别
指针,可以说是C语言编程的掌上明珠,而将const应用于指针,会产生一些挺微妙的现象. 指向const的指针 第一种用法是令指针指向一个常量,称之为指向const的指针,可以防止使用该指针修改所指向对 ...
最新文章
- Linux命令(30):tar命令-归档工具
- shell 命令执行结果判断语句
- hdu 1228 A+B (字符串处理) 水
- MasterPage技术
- windows mobile设置插移动卡没反应_ETC不用时,能不能把卡拔下来
- 处理数字_1_计算某列的最小/大值
- 浅析负载均衡的6种算法,Ngnix的5种算法
- JQuery发起ajax请求,并在页面动态的添加元素
- 【PAT甲级 - 1013】Battle Over Cities (25分)(并查集)
- C++学习之路 | PTA乙级—— 1013 数素数 (20分)(精简)
- python包路径有几个_python的搜索路径与包(package)
- java 静态导入_Java中静态导入的使用
- c语言蜂鸣器放音乐程序,单片机蜂鸣器C语言程序
- 如何把桌面计算机和回收站隐藏,电脑回收站怎么隐藏图标,隐藏我的电脑和回收站...
- windows蓝屏原因速查表(常见蓝屏原因与解决方法速查(适用于Windows 7/8/8.1/10/11))
- [转摘]如何让你的计算机无线网卡和有线网卡同时使用
- 一度智信|拼多多客服售后须知
- 1.深度linux,深度操作系统20.2.1 发布
- Andorid开发中好用的库
- java.sql.SQLException: HOUR_OF_DAY: 2 -> 3
热门文章
- python3.7如何使用enum_我如何用Python表示‘Enum’?
- cuda 核函数 for循环_【CUDA 基础】6.2 并发内核执行
- acer清理工具 clear下载_时秋极致清理大师app下载安装_时秋极致清理大师软件最新版免费下载...
- java 取得textfield_怎样获取java中textfield的内容
- 智能车竞赛技术报告 | 智能车视觉 - 太原工业学院 - 晋速-轩辕星
- RT-Thread优化智能车设计
- 2021年春季学期-信号与系统-第十一次作业参考答案-第二小题
- 电子秤专用模拟/数字(A/D)转换器芯片 HX711
- python实现案例_基于Python实现相关分析案例
- 最好的浏览器排行榜_PG是最好的数据库;TiDB 4.0前瞻;SequoiaDB高可用原理;20c DG新特性... 数据库周刊第18期...