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

常量指针与指针常量

时间:2024-03-10 22:22:05浏览次数:20  
标签:p1 const 常量 指向 int 指针

常量指针与指针常量

const int *p1;  //常量指针,从后往前可以理解为:p1 is a pointer point to const int

常量指针:声明了一个指向整型常量的指针p1,不能通过这个指针p1去修改所指向变量的值。但是可以修改指针p1的指向,即指针p1可以指向别的同类型变量

int* const p2; //指针常量,从后往前可以理解为:p2 is a const pointer point to int

指针常量:声明了一个指针型常量,用于存放整型变量的地址,这个指针一旦初始化后,就不能被重新赋值了。即指针p2 定义的同时一定要初始化,初始化之后就一直指向一个int变量了,无法修改指向。但是可以通过指针p2去修改所指向变量的数值

 

#include <iostream>
using namespace std;

int main()
{
    int a = 5 , b = 10;
    const int* p1 = &a;  //p1指针可以指向别的int变量,但是不能通过p1去修改所指变量的值
    //*p1 = 6;  错误
    a = 6;
    p1 = &b;
    //*p1 = 11;  错误
    cout << a << endl;  //6
    cout << *p1 << endl;  //10

    int c = 15 , d = 20;
    //int* const p2;  错误,没有初始化
    int* const p2 = &c;
    cout << *p2 << endl;  //15
    //p2 = &d;  错误,p2不可以指向别的变量
    *p2 = 25;
    cout << *p2 << endl;  //25
}

结果

6
10
15
25

 

标签:p1,const,常量,指向,int,指针
From: https://www.cnblogs.com/uacs2024/p/18064995

相关文章

  • 函数返回数组指针 看不太懂
    有三种方法1.声明一个返回数组指针的函数int(*func(inti))[10];func(inti)表示调用func函数所需要一个int类型的实参。(*func(inti))意味着我们可以对函数调用的结果执行解引操作。//意思就是函数调用的结果的是个指针。(*func(inti))[10]......
  • UE 共享指针 共享引用
    classFTestA{public: FTestA(){ UE_LOG(LogTemp,Warning,TEXT("FTestA构造")); } voidTestFun(){ UE_LOG(LogTemp,Warning,TEXT("FTestATestFun方法")); } ~FTestA(){ UE_LOG(LogTemp,Warning,TEXT("FTestA析构")); }};......
  • 变量和常量
    #include<iostream>/*变量,实际上是内存变量的简称,用于存放数据,就相当于一个盒子,放东西用,不放在盒子里的东西不能用。变量类型常用分为,整型int、浮点型(float、double)、字符型(char)、字符串(string)、布尔型(bool)字符型一般用double字符型cha......
  • vue常量定义以及使用
    在Vue项目中,您可以在JS文件中定义常量,然后通过 Vue.prototype 在 main.js 中定义这些常量为全局变量,以便在Vue组件中直接使用。以下是如何实现这一点的步骤:定义常量首先,创建一个JS文件来定义您的常量。例如,您可以创建一个名为 constants.js 的文件,并在其中定义......
  • c/c++指针中 * 和 & 的区别与联系
    在C语言中,*和&是两个非常基础但功能相反的操作符,它们分别是解引用(dereference)操作符和取地址(address-of)操作符。&(取地址操作符)用途:&操作符用来获取变量的内存地址。示例:假设有一个整型变量intx=10;,则&x表示获取变量x的内存地址。如果你有一个指针变量想要存储变量x的地址,可......
  • CUDA指针数组Kernel函数
    技术背景在前面的一篇文章中,我们介绍了在C++中使用指针数组的方式实现的一个不规则的二维数组。那么如果我们希望可以在CUDA中也能够使用到这种类似形式的不规则的数组,有没有办法可以直接实现呢?可能过程会稍微有一点麻烦,因为我们需要在Host和Device之间来回的转换,需要使用到很多C......
  • this指针的使用
    c++提供特殊的对象指针,也就是this指针,this指针指向被调用的成员函数所属的对象this指针是隐含每一个非静态成员函数内的一种指针this函数不需要定义,直接使用即可 this指针的用途:当形参和成员变量同名时,可用this指针来区分在类的非静态成员函数中返回对象本身,可使用return......
  • leetcode-15. 三数之和 - 双指针问题
    classSolution:defthreeSum(self,nums:List[int])->List[List[int]]:nums.sort()res=[]mem=set()foriinrange(len(nums)):ifnums[i]>0:breakifi>0andnum......
  • 【洛谷】明明的随机数(双指针去除重复元素)
    题目描述代码:#include<iostream>#include<algorithm>usingnamespacestd;intmain(){ intn; cin>>n; intA[n]; for(inti=0;i<n;i++){ cin>>A[i]; } sort(A,A+n); intslow=0,fast=0; while(fast<n){ if(slow!=......
  • 20. 攻击牌的拖拽指针
    制作攻击指针首先创建一个ArrowLine的对象,然后给它添加LineRenderer,将线宽改为1.5,Materials改为RedArrowRedArrow就长这个样子鼠标点击攻击牌的时候出现指针二次贝塞尔曲线理论和实现方式相关代码publicvoidSetArrowPosition(){Vector3cardPo......