首页 > 其他分享 >指针常量与常量指针

指针常量与常量指针

时间:2024-04-27 22:13:49浏览次数:20  
标签:const 常量 指向 int 内存地址 指针

指针常量与常量指针

前言:重在记录,可能出错。

一、指针常量和常量指针的介绍

1.指针常量:即指针类型的常量。指针常量重在常量,常量是其本质,指针用来表示常量的类型。例如:int * const p = &a

2.常量指针:即指向常量的指针,指针是其本质。例如:int const *p = &aconst int *p = &a

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

1.指针常量定义的是一个常量,常量不可改变,因此必须在定义的时候初始化。

2.指针常量不可以改变指针指向的内存地址中的值;

 常量指针 可以改变指针指向的内存地址中的值。

3.指针常量 可以改变指针指向的内存地址;

 常量指针不可以改变指针指向的内存地址。

三、注意情况

1.指针常量int const *p = &a中,const与p相邻,说明const是用来修饰p的,而相邻的修饰符是可以交换顺序的,因此int const *p = &aconst int *p = &a等价。

2.两个结合起来是什么呢?就是const int const *p=&a;,即指向常量的常指针,也可以称为常量指针常量,其特点是一旦初始化之后,指针指向的内存地址和指针指向的内存地址中的值均不可改变。

标签:const,常量,指向,int,内存地址,指针
From: https://www.cnblogs.com/wsgxg/p/18162624

相关文章

  • 一道编程题引发的C中关于数组、指针的思考
    7-163谷歌的招聘由一道编程题引发的C中关于数组、指针的思考先来看三种数组定义方式#include<stdio.h>#include<stdlib.h>intmain(){//方式1intarray_1[4]={1};//方式2,变长数组intn2;scanf("%d",&n2);intarray_2[n2];//使用变......
  • 【Qt专栏】C++删除空指针
    简短不看版:最佳实践if(pMyClass) //这里,pMyClass是指向某个类的指针..{deletepMyClass;pMyClass=NULL; //这句不能少}  完全可以....可能有不少人对Delete删除空指针的用法不屑一顾,但在实际运用当中, 却有不少人会犯类似的错误,最典......
  • Golang - 空指针如何预防
    在Go语言中,空指针是一个常见的运行时错误来源,它通常发生在尝试访问一个未被初始化或已被设置为nil的指针所指向的值。1、凡是有点『.』操作的的行为都要先进行非nil判断:例如,想记录一个err的msg,通过err.Error()就可以获取到err的string类型的错误消息msg,但这里需要对err进行非nil......
  • C++ 指针与引用的区别
    初学C++指针时,我误以为可以将指针视作对于原始对象的引用,当时还没有接触C++引用的概念,所以犯了概念上的错误,在此澄清一下这两者的区别。在形式上使用 *定义指针变量:int*p;定义的时候可以不初始化。使用& 定义引用:int&r=i;(其中i是另一个变量),定义引用的时候需要......
  • C++ 指针与引用的区别
    初学C++指针时,我误以为可以将指针视作对于原始对象的引用,当时还没有接触C++引用的概念,所以犯了概念上的错误,在此澄清一下这两者的区别。在形式上使用 *定义指针变量:int*p;定义的时候可以不初始化。使用& 定义引用:int&r=i;(其中i是另一个变量),定义引用的时候需要......
  • C++ 指针与引用的区别
    初学C++指针时,我误以为可以将指针视作对于原始对象的引用,当时还没有接触C++引用的概念,所以犯了概念上的错误,在此澄清一下这两者的区别。在形式上使用 *定义指针变量:int*p;定义的时候可以不初始化。使用& 定义引用:int&r=i;(其中i是另一个变量),定义引用的时候需要......
  • 智能指针
    首先理解什么是RAII,RAII(ResourceAcquisitionIsInitialization)是C++中用来管理资源的生命周期的一种技术。在RAII中,资源的获取和释放是在对象的构造函数和析构函数中完成的。当对象被创建时,它的构造函数被调用,从而获取资源;当对象超出作用域时,其析构函数被调用,从而释放资源。......
  • C++ 指针变量的字面量以及其所指对象的字面量
    指针变量的字面量以及其所指对象的字面量 #include<iostream>usingnamespacestd;intmain(){intvar=20;int*var_address;var_address=&var;cout<<"Valueofvarvariavle:"<<var<<endl;//Valueofvarvari......
  • C++ 指针变量的字面量以及其所指对象的字面量
    指针变量的字面量以及其所指对象的字面量 #include<iostream>usingnamespacestd;intmain(){intvar=20;int*var_address;var_address=&var;cout<<"Valueofvarvariavle:"<<var<<endl;//Valueofvarvari......
  • C++ 指针变量的字面量以及其所指对象的字面量
    指针变量的字面量以及其所指对象的字面量 #include<iostream>usingnamespacestd;intmain(){intvar=20;int*var_address;var_address=&var;cout<<"Valueofvarvariavle:"<<var<<endl;//Valueofvarvari......