C++常量指针和指针常量

1、常量指针

指向常量的指针变量的定义和使用

如:const int *p;

2、指针常量

如:char* const p = "abcde";

可以这么理解:

const p的类型式char*,所以p是不可以再修改的。也就是所p必须是在定义时就已经初始化,并且不能再修改了。

3、指向常量的指针常量

指向常量的指针常量

如:const int* const p = &b;

可以这么理解

int* const p的类型时const,那么也就是所int* const p是不可以修改的。

再看int* const p。const p的类型是int*,也就是p是不可以再修改的,并且它的类型是int*。

总结:

不管指针的命名怎么变,都要把它分解开了看待。从最外的一层开始,一层一层往里面走,用“类型-对象”的眼光去看待这些命名。

时间: 2024-11-13 12:27:57

C++常量指针和指针常量的相关文章

C语言中常量指针与指针常量区别浅析

这篇文章主要介绍了C语言中常量指针与指针常量区别,有需要的朋友可以参考一下 常量指针是指--指向常量的指针,顾名思义,就是指针指向的是常量,即,它不能指向变量,它指向的内容不能被改变,不能通过指针来修改它指向的内容,但是指针自身不是常量,它自身的值可以改变,从而指向另一个常量. 指针常量是指--指针本身是常量.它指向的地址是不可改变的,但地址里的内容可以通过指针改变.它指向的地址将伴其一生,直到生命周期结束.有一点需要注意的是,指针常量在定义时必须同时赋初值. 注:也有人将这两个名称的定义与含义

C/C++中的const--常量指针与指针常量

问题解析 常量指针 常量指针是指向常量的指针,指针指向的内存地址的内容是不可修改的. 即指针指向了一个常量,但是指针本身是一个变量 定义const int *p=&a; 这条语句告诉编译器,*p是常量,不能将*p作为左值进行操作.但这里的指针p还是一个变量,它的内容存放常量的地址,所以先声明常量指针再初始化是允许的,指针也是允许修改的 示例 int a = 0,b = 1; const int *p; // 声明常量指针p p=&a; // p指向a p=&b; // 修改指针的值

const int *p和int * const p的区别(常量指针与指向常量的指针) .

  对于指针和常量,有以下三种形式都是正确的: const char * myPtr = &char_A;//指向常量的指针 char * const myPtr = &char_A;//常量的指针 const char * const myPtr = &char_A;//指向常量的常量指针 下面依次对这三种类型进行介绍. 因为*操作符是左操作符,左操作符的优先级是从右到左,对于 1.常量指针(Constant Pointers) int * const p 先看const再看*

c++中指针常量,常指针,指向常量的常指针区分

const char * myPtr = &char_A;//指向常量的指针 char * const myPtr = &char_A;//常量的指针 const char * const myPtr = &char_A;//指向常量的常量指针 1.指针常量 **从字面意思可以看出,指针是一个常量,也就是地址不能被修改. #include <iostream> using namespace std; void main() { int a = 10; int cons

详解C语言中的常量指针和指针常量_C 语言

概述对于新手来说,指针在c语言里总是一个非常难以理解的概念.在这篇文章中,我们将解释常量指针,指针常量,const pointer to const(ps:楼主以为这可以翻译成指向常量的常量指针)的区别 常量指针让我们先来理解什么是常量指针.常量指针是指指针指向的地址是常量.换句话说,一旦常量指针指向了一个变量,你不能让该常量指针指向其他变量了 常量指针的声明方法如下: <type of pointer> * const <name of pointer> 常量指针声明示例: in

如何区分C/C++常量指针和指针常量

C++中的常量指针和指针常量是很容易混乱.其实本来没什么,这无非是const int *p与int* const p的区别, 但一涉及到起名字,特别是给他们戴上"常量指针"和"指针常量"的中文帽子,由于作者和译者(针对外文书)的不同,就出现了"张冠李戴"和"李冠张戴"的乱像,不知道谁是谁了,弄得人一头雾水,尤其是对于初学者.本文的目的就是针对这一细节,为大家将两者理清楚,同时说明在使用上的区别. 注意:1.const int

深入const int *p与int * const p的区别详解(常量指针与指向常量的指针)_C 语言

对于指针和常量,有以下三种形式都是正确的: 复制代码 代码如下: const char * myPtr = &char_A;//指向常量的指针char * const myPtr = &char_A;//常量的指针const char * const myPtr = &char_A;//指向常量的常量指针 下面依次对这三种类型进行介绍.因为*操作符是左操作符,左操作符的优先级是从右到左,对于1.常量指针(Constant Pointers) 复制代码 代码如下: int * con

详解 常量指针和指针常量

说一下 常量指针和指针常量 的区别. 常量指针 指向常量的指针,也就是说指针指向的对象是常量,指向的常量不能修改.指针不是一个常量, 可以把指针指向别一个常量. 常量指针是我们最常用的,一般声明形式如下: const int *p; int const *p;   例: int a(1), b(3); const int *p; // 或者是 int const *p; p = &a; std::cout << "address : " << p <

C++中的指针、数组指针与指针数组、函数指针与指针函数

C++中的指针.数组指针与指针数组.函数指针与指针函数 本文从初学者的角度,深入浅出地详解什么是指针.如何使用指针.如何定义指针.如何定义数组指针和函数指针,并给出对应的实例演示:接着,区别了数组指针与指针数组.函数指针与指针函数:最后,对最常混淆的引用传递.值传递和指针传递做了区处. C++中一个重要的特性就是指针,指针不仅具有获得地址的能力,还具有操作地址的能力.指针可以用于数组.或作为函数的参数,用来访问内存和对内存的操作,指针的使用使得C++很高效,但是指针也非常危险,使用不当会带来比较

指针、指针变量与内存空间——解惑

指针.指针变量与内存空间--解惑              一年前,我曾今在ChinaUnix写过一篇博客<关于定义一个指针与指针变量>然后搬家来了CSDN.这篇博客中写道了很多关于指针和指针变量以及空间分配的一些常见错误.但是,到现在为止,无论是CSDN的网友还是一些已经工作的同事以及大三大四的学生,陆陆续续的有人在问我关于指针与指针变量还有空间分配问题.我想在这里再写一篇博客解惑指针     问题1 int idata = 5; int *p = idata//为什么这里不对? 既然通常*