c语言中const的作用的相关总结

在 C 语言中,const 是一个关键字,用于定义一个常量。一旦将一个变量声明为 const,它的值就不能被修改。这样可以确保在程序的执行过程中,这个变量的值始终保持不变。常量通常用于定义一些固定的值,例如圆周率π、温度的绝对零度等。以下是 const 的示例用法

const int MAX_SIZE = 100; // 定义一个整型常量 
const float PI = 3.14159; // 定义一个浮点型
#include"stdio.h"
int main(){
  int m=0;//m的值可修改
  m=20;
  const int n=0;//n的值不可修改
  n=20;
  return 0;
}

  上面这个代码中n是不能修改的,如果想直接改会报错,如果要改只能使用指针的方式,使用n的地址,就能修改了,不过这改的也违反了语法规则,用const本来就是为了让变量值不改变,这样又改了就完全没必要了,可以改,但没必要,如果要改就用下面的这个代码即可。

#include"stdio.h"
int main(){
  //int m=0;//m的值可修改
  //m=20;
  const int n=0;//n的值不可修改
  //n=20;
  printf("修改前:%d\n",n);
  int *p=&n;
  *p=20;
  printf("修改后:%d\n",n); 
  return 0;
}

  如果正常使用const修饰指针变量,有下面两种结论:

1.const放*左边:表示修饰指针所指向的内容,指针指向的内容不变,但指针本身可变。

2.const放*右边:表示修饰指针变量本身,指针变量的内容不能修改,指针指向的内容可以通过指针改变。

//const放*左边
const int *p;
int a = 10;
p = &a;
*p = 20; //错误:指针指向的内存空间不可修改
//const放*右边
int a = 10;
int * const p = &a;
p = NULL; // 错误:指针本身不可修改
*p = 20; // 正确:指针指向的内存空间可修改

  如果同时使用了这两种用法(又放左边又放右边),表示指针本身和指向的内存空间都不可修改。

//*左边右边都放了const
const int * const p = &a;
p = NULL; // 错误:指针本身不可修改
*p = 20; // 错误:指针指向的内存空间不可修改

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是lethe先生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值