C语言中connst用法
2024-08-27 08:14:37
1、const一般用来定义只读变量,这个变量的之只能在初始化时赋值,如果初始化时没有赋值,则默认为0。如果在其他地方试图更改此值,编译会报错。如:
1 #include<stdio.h>
2 int main()
3 {
4 const int a;
5 a+=2;
6 printf("%d\n",a);
7 return 0;
8
9 }
10
11
12 运行结果:
13 con.c: In function ‘main’:
14 con.c:5:3: error: assignment of read-only variable ‘a’
15 a+=2;
2、const 和指针
const和指针有以下几种书写方式:
- const int *a
指针指向的内容不可变,但指针可以改变
#include<stdio.h>
int main()
{
int w=1;
int q=2;
const int *a=w;
a=&q;
++a;
++*a;
printf("%d/n",*a);
}
运行结果:
con1.c: In function ‘main’:
con1.c:10:9: error: increment of read-only location ‘*a’
++*a;
- int const *a
指针指向的内容不可变,指针可以改变。
1 #include<stdio.h>
2
3 int main()
4 {
5 int w=1;
6 int q=2;
7 int const *a=q;
8 a=&w;
9 // int *const a=&w;
10 // const* int a;
11 // const int *a;
12
13 ++a;
14 ++*a;
15
16 }
运行结果:
con1.c: In function ‘main’:
con1.c:14:2: error: increment of read-only location ‘*a’
++*a;
^
- int *const a
const修饰了a, a本身是一个常量,而a还是一个指针,结果就是一个指针常量,指针不可变,但指针内容可变。
#include<stdio.h> int main()
{
int w=1;
int q=2;
int *const a=&w;
++a;
++*a; }
运行结果:
con1.c: In function ‘main’:
con1.c:8:9: error: increment of read-only variable ‘a’
++a;
最新文章
- java 环境配置 及java 历史
- iPhone 信号格转变数字
- 走进 Spring IOC 的世界
- sql server case when 判断为空
- SQL--查询相同字段的数据
- PySe-003-Se-WebDriver 启动浏览器之一 - Firefox
- windows git的安装配置(转)
- BZOJ 4341 [CF253 Printer] 解题报告
- JSON参数解析工具类
- hdu 1042
- CLR via C# - Char_String
- 1352 - Colored Cubes (枚举方法)
- ZOJ 1654 二分匹配基础题
- Android binder机制---概述
- windows系统命令行
- autodesk fbx sdk sample里面的工程无法调试解决方法
- highcharts 知识点
- hive spark版本对应关系
- Docker 系列01: Centos7.3 上安装docker
- c++11 并发 条件变量 超时等待的代码练习