【嵌入式C语言系列】关键字详解【const】
const
const修饰变量
- const修饰变量,功能是对变量声明为只读特性,并保护变量值以防被修改。
- const修饰变量,还起到了节约空间的目的,通常编译器并不给普通const只读变量分配空间,而是将他们保存在符号列表中,无需读写内存操作,程序执行效率也会提高。
const int i = 5;
int const i = 5;
const修饰数组
- const修饰数组,表明此数组具有只读性,一旦被更改程序会出错。
const int array[5] = {0,1,2,3,4};
int const array[5] = {0,1,2,3,4};
const修饰指针
- const修饰指针,第一种是限定指向空间的值不可修改。
int i = 5;
int const *p1 = &i;
- const修饰指针,第二种是限定指针不可修改。
int k = 10;
int * const p2 = &k;
对于指针p1,const修饰的是p1,即p1指向的空间的值不可改变,例如p1 = 20;就是错误的用法;但是p1的值是可以改变的,例如p1 = &k;则没有任何问题。
对于指针p2,const修饰的是p2,即指针本身p2不可更改,而指针指向空间的值是可以改变的,例如 *p2 = 15; 是没有问题的,而p2 = &i;则是错误的用法。
const修饰函数参数
- const 修饰函数参数对参数起限定作用,防止其在函数内部被意外修改,所限定的参数可以是普通变量,也可以是指针变量。
void fun(const int x)
{...x = 10; //对x的值进行了修改,错误
}
void fun(const int *p)
{...(*p)++; //对p指向空间的值进行了修改,错误
}
【嵌入式C语言系列】关键字详解【const】相关推荐
- C语言的关键字 详解
一.C语言的关键字 C语言中的32个关键字及其意思如下: 由 ANSI 标准定义的C 语言关键字共32 个.根据关键字的作用,可以将关键字分为数据类型关键字和流程控制关键字两大类. 1.数据类型关键字 ...
- 【C语言】初始C语言系列 代码详解 _ 编程入门 _【内附代码和图片】_ [初阶篇 _ 总结复习]
[前言] 本篇文章为初始C语言部分,C语言是编程的入门语言,所以也说是编程入门: 学好C语言的入门内容,才能真正的入门编程,而C语言的学习对于刚入门的同学还是有一些难度的,需要踏踏实实的自己去理解. ...
- C语言保留字(关键字)详解
保留字(reserved word) 保留字又称关键字. 指在高级语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用. 每种程序设计语言都规定了自己的一套保留字. 例如:BASIC语言规 ...
- 【老九学堂】【初识C语言】C语言保留字(关键字)详解
保留字(reserved word) 保留字又称关键字. 指在高级语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用. 每种程序设计语言都规定了自己的一套保留字. 例如:BASIC语言规 ...
- C语言volatile关键字详解
volatile提醒编译器它后面所定义的变量随时都有可能改变,因此编译后的程序每次需要存储或读取这个变量的时候,都会直接从变量地址中读取数据.如果没有volatile关键字,则编译器可能优化读取和存储 ...
- MySQL查询语种关键字_SQL——SQL语言全部关键字详解
http://blog.csdn.net/quinnnorris/article/details/71056445 数据库中我们做常用的就是SQL基本查询语言,甚至有些人认为数据库就是SQL,SQL就 ...
- c语言extern关键字详解
在c语言中代码的执行顺序是从上往下执行的,如果定义的函数或者变量在调用之后,那么调用的时候编译就会找不到需要使用的变量.这样就会出现错误,如下代码: #include<stdio.h>in ...
- c语言所有关键字作用,void_C语言void关键字详解
void类型修饰符(type specifier)表示"没有值可以获得".因此,不可以采用这个类型声明变量或常量.void 类型可以用于下面各小节所描述的目的. void用于函数声 ...
- C语言struct关键字详解—结构体
struct 是个神奇的关键字,它将一些相关联的数据打包成一个整体,方便使用. 在网络协议.通信控制.嵌入式系统.驱动开发等地方,我们经常要传送的不是简单的字节流(char 型数组),而是多种数据组合 ...
- C++/C语言sizeof关键字详解
目录 sizeof关键字 主要功能 常见用法 与基本数据类型的相关的内存空间大小的求解 与数组相关的内存空间大小的求解 在数组的定义处 在具体函数的中 运行实例 与指针的相关的变量所占内存空间大小的求 ...
最新文章
- 一文看懂 Bahdanau 和 Luong 两种 Attention 机制的区别
- invokeRequired属性和 invoke()方法
- 宇宙第一 IDE Visual Studio 2019 正式发布
- 如何提升微服务的幸福感?
- Python图像处理工具——PIL、opencv、matplotlib
- 添加多个tomcat服务目录
- n3k配置vpc是否还需要配置hsrp_HSRP
- 使用NodeJS调用Dubbo工程
- java 引用类型 String_java基础之 数据类型 值传递 引用传递 String 四种引用类型...
- mapinfo将北京54坐标系转WGS84坐标系
- 数据库系统原理与应用教程(019)—— MySQL 的配置文件
- centos7安装python3.7.4_基于centos7 安装python3.6.4出错的解决方法
- Powerbi环比分析及其修正
- android标题栏添加按钮_如何从iPhone或Android设备访问PC
- 如何打造一款工业级5G CPE+WiFi6路由器-5G工业网关解密
- GIC spec之ITS和LPI中断5
- 实操解决Virtualbox中centos虚拟机硬盘扩容的问题
- linux nginx rtmp 死机,nginx rtmp 实时直播视频流 发布者网络不稳定导致无法直播问题...
- 雅思写作 Day 1 阅读笔记
- iphone网页唤醒支付宝_如何确保iPhone警报唤醒您