c语言的变量,常量及作用域等
1.const定义常量
在C语言中,const可以用来定义的一个常量,在变量名前加上const即可。
int const a;
定义了一个a的整数常量,且a的值不能被修改。如果要修改a的值,有以下两种方法。
方法一
int const a=100;
在定义时,就对它进行初始化
方法二
在函数中声明const的形参在函数调用时会得到实参的值。
重点:const涉及指针变量的情况
const int * a;
int * const a;
在第一条语句中,const修饰的时指针a所指向的对象,也就是说我们无法同过指针a来修改其指向的对象的值。但是指针a本身的地址是可以改变的,既可以指向其他对象。
第二条语句中,cosnt修饰的指针a。因此,指针本身(地址)是不可以改变的,而指针所指向的对象的值是可以改变的
2.define定义常量
define实际是一个预处理指令,其用途远大于定义常量这一功能。这里只介绍define定义常量的基本用法。
使用define实际是进行符号替换,方法为
#define 符号名 替换列表
符号名必须符合标识符命名规则。替换列表可以是任意字符序列,如数字,字符串,表达式等。列如:
#define MUN “work hard!”/*后面的所有的MUN都会被替换为work hard!*/
#define AUS 99 /*后面的所有的AUS都会被替换为99!*/
#define DEPP “\a” /*后面的所有的DEPP都会被替换为“\a”!*/
c语言的变量,常量及作用域等的更多相关文章
- Java变量, 常量和作用域
目录 变量 作用域 局部变量 实例变量 类变量 常量 命名规范 视频课程 变量 变量就是可以变化的量 Java是一种强类型的语言, 每个变量都必须声明其类型 Java变量是程序中最基本的存储单元, 其 ...
- c语言中变量和函数作用域深究
首先,函数的作用域和访问权限基本可以参考 C语言中的作用域,链接属性和存储类型 也存在例外情况,比如内联函数 static inline,使用static 修饰 inline之后外部文件也可以访问内联 ...
- Go 语言基础——变量常量的定义
go语言不支持隐式类型转换,别名和原有类型也不能进行隐式类型转换 go语言不支持隐式转换 变量 变量声明 var v1 int var v2 string var v3 [10]int // 数组 v ...
- C/C++语言中变量作用域:局部变量,全局变量,文件级变量
C/C++语言中的变量分为全局变量和局部变量. 这样的划分方式的根据是变量的可见范围或者叫做作用域. 1 局部变量 局部变量指的是定义在{}中的变量,其作用域也在这个范围内.尽管常见的局部变量都是定义 ...
- C语言中变量、全局变量与变量的作用域
什么是变量: 变量常量都是表征数据的一种形式:常量用来表示数据的值: 变量不仅可以用来表示数据的值:还可以用来存放数据:因为变量对应着一定的内存单元: 变量和常量必须先定义后使用. 变量名和常量名都是 ...
- 8.JavaSE之变量、常量、作用域
变量variable: 变量是什么:就是内存中开辟的可以变化的量! Java是一种强类型语言,每个变量都必须声明其类型. Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型,作用域 ...
- Java基础:变量、常量、作用域
JAVA基础:变量.常量.作用域 变量:可以变化的量.Java是强类型语言,每个变量都必须声明类型. Java变量是程序中最基本的存储单元,要素包括变量名,类型和作用域. //类变量 static s ...
- Day003 变量、常量、作用域
变量 变量:就是可以变化的量 Java是一种强类型语言,每个变量都必须声明其类型. Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域 变量的定义 数据类型 变量名 = 值:可以 ...
- javaSE基础之变量,常量,作用域和运算符
变量 变量是什么? 变量是可以变化得量 Java是一种强类型语言,每个变量都必须声明其类型. Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域 type varName [=v ...
- Java基础系列(11)- 变量、常量、作用域以及变量的命名规范
变量 变量是什么:就是可以变化的量 Java是一种强类型语言,每个变量都必须声明其类型 Java变量是程序中最基本的存储单元,其要素包括变量名,变量类型和作用域 type varName [=valu ...
随机推荐
- JS学习阶段性总结-1
各种函数的声明 /** * 函数的声明 */ // 声明一个方法,任意调用 function aaa(args){...} // 声明一个函数并以变量的形式展示出去,因此无法再声明前调用 var fn ...
- Java面试题(设计模式篇+Spring/Spring MVC篇)
设计模式 88.说一下你熟悉的设计模式? 自行熟悉. 89.简单工厂和抽象工厂有什么区别? 简单理解简单工厂:对 一个对象的创建进行封装.抽象工厂:对 一组对象的创建进行封装. 比如生产 陶瓷马 和 ...
- 使用tensorflow2识别4位验证码及思考总结
在学习了CNN之后,自己想去做一个验证码识别,网上找了很多资料,杂七杂八的一大堆,但是好多是tf1写的,对tf1不太熟悉,有点看不懂,于是自己去摸索吧. 摸索的过程是异常艰难呀,一开始我直接用capt ...
- centos 7 对用过yum更新的软件服务进行降级
centos 7 执行 yum update 会对现有服务软件进行更新,但是如果把不该升级的软件升级,彼此软件不兼容,如何进行降级,比如:kibana 必须与 elasticsearch 大版本相同, ...
- 跳转语句 break 和 continue
break跳出循环体,结束本次循环. continue结束本次循环. for(var i=0; i<5; i++){ if(i == 3) break; document.write(" ...
- 利用OpenCV进行H264视频编码的简易方式
在Python下,利用pip安装预编译的opencv库,并实现h264格式的视频编码. 1. 安装OpenCV $ pip install opencv-python 建议在python虚拟环境下安装 ...
- laravel kernel解析过程
laravel kernel解析过程 前面的两篇laravel文章过后,可以在bootstrap/app.php中拿到$app这个实例, app.php中 接下来通过singleton方法绑定了三个闭 ...
- Unity动态绑定按钮触发方法
在使用unity制作UI的过程中,基本都需要接触到按钮,然后按钮要起作用的话,那么就需要为按钮绑定响应方法. 为按钮绑定触发的方法,我知道的有两种方法,第一种:手动使用unityEditor 绑定,另 ...
- C012:颠倒显示两位数
代码: #include "stdafx.h" int _tmain(int argc, _TCHAR* argv[]) { int original; do{ printf(&q ...
- Centos 镜像文件下载
1. Centos 官网 https://www.centos.org 进入下载页面,选择下载的版本即可 不推荐在官网下载,因为官网上提供的下载地址很多是国外网站,下载太慢了 2. 阿里云Centos ...