详解 常量指针和指针常量
详解 指针 常量
2023-09-27 14:26:23 时间
说一下 常量指针和指针常量 的区别。
常量指针
指向常量的指针,也就是说指针指向的对象是常量,指向的常量不能修改。指针不是一个常量,
可以把指针指向别一个常量。
常量指针是我们最常用的,一般声明形式如下:
const int *p; int const *p;
例:
int a(1), b(3); const int *p; // 或者是 int const *p; p = &a; std::cout << "address : " << p << " value : " << *p << std::endl; p = &b; std::cout << "address : " << p << " value : " << *p << std::endl;
上边的代码是正确的用法。
不可以对指向的内容做修改:
*p = 3; // 错误
指针常量
指针指向的地址不可以改变,地址的内容可以通过指针改变。指针常量在定义时必须赋值。
例:
int a(1), b(3); int *const p = &a; *p = a; std::cout << "address : " << p << " value : " << *p << std::endl; *p = b; std::cout << "address : " << p << " value : " << *p << std::endl;
上边的代码是正确的使用方式。
不能对指向的地址进行修改:
p = &b; // 错误
我们也可以这样记
const 在谁前边谁就不可以修改:
常量指针 : const 在指针前边,我们就不可以修改指针。
指针常量 : const 在变量前边,我们就不可以修改指针的地址。
相关文章
- Entity Framework 全面教程详解(转)
- 技术分享 | 实战详解接口测试请求方式Get、post
- 详解C#泛型(二) 获取C#中方法的执行时间及其代码注入 详解C#泛型(一) 详解C#委托和事件(二) 详解C#特性和反射(四) 记一次.net core调用SOAP接口遇到的问题 C# WebRequest.Create 锚点“#”字符问题 根据内容来产生一个二维码
- 【转】C++中this指针的用法详解
- 【转载】C++ 值传递、指针传递、引用传递详解
- MATLAB“figure”使用详解
- python commands 执行命令详解
- stm32mp1 Cortex M4开发篇4:GPIO外部中断详解
- Java 重载、重写、构造函数详解
- tcp/ip之三次握手,四次挥手(超级详解)
- Mysql中Truncate用法详解
- Spring Batch(4): Job详解
- 《Android游戏开发详解》一1.5 运算
- 《Unity 4 3D开发实战详解》一6.4 关节
- C指针和数组的关系详解
- linux ABORT的应用详解
- Struts功能详解 ——ActionServlet
- Linux系统调用--getrlimit()与setrlimit()函数详解
- 指针数组与数组指针详解
- 浅析nginx的server及server_name的意义详解
- 基于unity物体移动的方法API的总结-GIF图文详解
- ES6之Object.assign()详解
- 尺取法(双指针法)详解
- 设计模式详解:Abstract Factory(抽象工厂)
- 【C/C++】 常量指针,指针常量、指向常量的常指针详解
- Java的集合排序:Collections.sort、list.sort和list.stream().sorted方法详解