首页 > 其他分享 >const int* 、int* const、const int* const

const int* 、int* const、const int* const

时间:2023-10-23 20:36:55浏览次数:27  
标签:const 变量 指向 只读 int 指针

2.4.4 修饰指针或引用
2.4.4.1 指向只读变量的指针const int a;
//const 关键字修饰的是指针所指向的变量,而不是指针本身
//不能通过指针修改所指向的变量		  指针本身可以被修改		 
const int* p
    
*p = 30;  // 非法,无法通过指针修改只读变量的值

int a = 10;
const int b = 20;
p = &a;  // 合法,指针可以指向普通变量
p = &b;  // 合法,指针可以指向只读变量
2.4.4.2 只读指针
//const 关键字修饰的是指针本身,使得指针本身成为只读变量
//指针本身不能被修改,但是可以通过指针修改所指向的变量。
int a = 10;
int b = 20;
int* const p = &a;  // 声明一个只读指针,指向 a

*p = 30;  // 合法,可以通过指针修改 a 的值

p = &b;  // 非法,无法修改只读指针的值
2.4.4.3 只读指针指向只读变量
//const 关键字同时修饰了指针本身和指针所指向的变量,使得指针本身和所指向的变量都成为只读变量。
//因此,指针本身不能被修改,也不能通过指针修改所指向的变量。
const int a = 10;
const int* const p = &a;  // 声明一个只读指针,指向只读变量 a
*p = 20;  // 非法,无法通过指针修改只读变量的值
p = nullptr;  // 非法,无法修改只读指针的值

标签:const,变量,指向,只读,int,指针
From: https://www.cnblogs.com/share0956/p/17458328.html

相关文章

  • c++ int数组存储long long元素
    高往低存,可能造成数据截断。如longlong64位,int32位,高32位被丢弃。可以将int数组每两个元素分别存储低32位和高32位inta[4];//隐式转换*a=2;//目标格式是int,2默认值默认值默认值*(longlong*)a=2;//目标格式是......
  • [转]setTimeout 和 setInterval 的定时时间深入研究
    原文地址:setTimeout和setInterval的定时时间深入研究-知乎setInterval() -间隔指定的毫秒数不停地执行指定的代码(一直执行)。setTimeout() -在指定的毫秒数后执行指定代码(只执行一次)。使用setInterVal:functiondoStuff(){//此处为需要执行一段时间T......
  • CF1479B1 Painting the Array I
    如果两种方案末尾两数有一数相同,那么答案较大的方案不劣于答案较小的方案。答案较大的方案只需\textbf{模仿}答案较小的方案即可,在状态变成相同之前答案最多只会少\(1\)。所以只需要考虑末尾两数\(a,b\)与新进来的数\(c\)各不相同时该替换哪个。假设\(a\)下次出现的位置......
  • Jlink V8 Interface Description
     JTAGInterfaceConnection(20pin) J-LinkandJ-TracehaveaJTAGconnectorcompatibletoARM'sMulti-ICE.TheJTAGconnectorisa20wayInsulationDisplacementConnector(IDC)keyedboxheader(2.54mmmale)thatmateswithIDCsocketsmou......
  • unity 使用interface 判断 null错误的问题
     在使用Interface,并且由Monobehaviour继承Interface情况下,判断interface的实际UnityEngine.Object是否null,出现错误,没有成功的判断出已经Destroy https://gamedev.stackexchange.com/questions/128971/unity-c-interface-object-never-equals-null解决方案:https://discuss......
  • double转int
    intdoubleToInt(doubledVal,intnMagnification){ doubledCorrect=1.0/(nMagnification*100); intn1=(int)(dVal*nMagnification+dCorrect); returnn1;}测试代码:doubled1=1.0; intk0=100; doubledStep=1.0/k0; doubledCorrect=1.0/(k0*100......
  • 在C#中如何将int转换为枚举?
    内容来自DOChttps://q.houxu6.top/?s=在C#中如何将int转换为枚举?在C#中如何将一个int类型转换为enum类型?从整数类型:YourEnumfoo=(YourEnum)yourInt;从字符串类型:YourEnumfoo=(YourEnum)Enum.Parse(typeof(YourEnum),yourString);//对于带有[Flags]属性的枚......
  • 为什么Java的 +=, -=, *=, /= 复合赋值运算符不需要将long转换为int?
    内容来自DOC[https://q.houxu6.top/?s=为什么Java的+=,-=,*=,/=复合赋值运算符不需要将long转换为int?](https://q.houxu6.top/?s=为什么Java的+=,-=,*=,/=复合赋值运算符不需要将long转换为int?)直到今天,我认为例如:i+=j;只是一个i=i+j;的快捷方式。但......
  • 洛谷题解 | AT_abc321_c Primes on Interval
    目录题目翻译题目描述输入格式输出格式样例#1样例输入#1样例输出#1样例#2样例输入#2样例输出#2样例#3样例输入#3样例输出#3题目简化题目思路AC代码题目翻译【题目描述】你决定用素数定理来做一个调查.众所周知,素数又被称为质数,其含义就是除了数字一和本身之外不能......
  • 2023中山市香山杯网络安全大赛 pintu Writeup
    Misc题目名称:pintu题目描述:转换拼接好的图片时在最后加个f题目内容分析:给出4703张黑白图片,然后还有提示是8->10根据提示,很明显在说明进制数,也就是8进制转10进制。因此,根据提示想哪些东西可以转数值看到图片只有黑白,于是将其替换成二进制,并转成字符。根据验证这里是将白......