您当前的位置: 首页 >  c++

惊鸿一博

暂无认证

  • 3浏览

    0关注

    535博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C++_const与指针_指向常量的指针(const int* p) 对比 常量指针 (int* const p = &a);

惊鸿一博 发布时间:2022-01-18 23:41:23 ,浏览量:3

目录

1. const 限定一个变量时 

2. const 限定一个指针时

2.1 指向常量的指针 const int* p;

2.2 常量指针 int* const p = &a;

3. 只读指针(指向常量的常量指针)

名称说明:关于 常量指针 和 指针常量 各个参考书目的叫法会有所区别,本文采用较符合语法的叫法: 指向常量的指针 和 常量指针。

字面解读:

  • 指向常量的指针:有一个变量(也有可能是const修饰的变量)当被一个指针指向时,不能通过该指针改变这个变量,则这个指针称之为“指向常量的指针”, 这不意味着 指针不能改变,也不意味着这个变量不能改变,只是说,不能通过这个指针改变这个变量的值。
  • 常量指针:具有常量性质的指针;首先有一个指针,这个指针具有常量的性质,即指针的值(或说指针的指向)不能改变,但可以通过指针去改变指向的变量的值。
1. const 限定一个变量时 

问题:const int a = 10; a是否可以改变?

答案: c语言中允许改变,c++中不允许改变.

c语言改变一个const变量的方式:

#include 

int main() {
	
/*
	const 修饰的变量成为只读变量 常量
	可以通过一级指针修改
	*/

    const int a = 10;
    //a = 100; // err
    printf("a的值:%d\n", a); // a的值:10

    int *p = &a;

    *p = 100;
    
    printf("a的值:%d\n", a); // a的值:100

    return 0;
}

c++改变一个const变量,但不成功的例子:

#include 

int main() 
{
	const int a = 10;
	std::cout             
关注
打赏
1663399408
查看更多评论
0.0851s