IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C++中的变量与常量 -> 正文阅读

[C++知识库]C++中的变量与常量

一,变量

一,变量的类型与基本操作

变量是由C++有效类型创建申请的一块存储区域的名称,它的存储区域大小由类型决定,比如 int类型的大小是4个字节,那么系统就会为int类型创建的变量申请4个字节的内存变量,可以 用来存储这个范围的数据。可以通过运算来进行操作。此时值得注意的是,单精度类型(float)占四个字节,其中第1位是符号位,中间8位是指数位,后23位是小数位。双精度类型(double)则是第1位是符号位,中间11位是指数位,后面52位是小数位。

变量的名称由字母、数字和下划线字符组成。它必须以字母或下划线开头,且区分大小写,因为 C++ 是大小写敏感的。变量名只是一个标识符,不占用内存,在编译时转换成变量的地址存放在寄存器中。

变量的声明:

变量类型 变量名;

可以在创建时用=进行初始化,也可以在后面赋值。

这里引入左值和右值的概念,左值是是一个地址值,可以用来改变里面的数据,所以可以用来被赋值,放在赋值符号的右边。当然左值也可以放在赋值符号的右边,用来取地址里的值。右值是一个符号或者常量,会在编译时复制地址里面的数据到寄存器中。

需要主义的是C/C++并非安全性的语言,在对变量进行操作时有发生数据溢出的情况,溢出分为两种:

上溢:即两个正数相加的结果是负数;

下溢:即两个负数相加的结果为正数;

发生数据溢出的情况是由于在对数据进行操作时,符号位与数据是一起计算的,所以数据进位到符号位改变了符号位的值便发生了溢出现象。

二,变量的作用域

通常我们可以在三个地方定义变量,所以变量的前缀也有所区别:

  • 局部变量,在一个函数内部或者一片代码块中定义的变量;

  • 形式参数变量,即在函数定义时作为参数被定义的变量;

  • 全局变量,在所有函数外部定义的变量;

函数参数不必多说,局部变量则是只在他的定义的函数域或代码域里起作用,全局变量的作用域是整个程序,即所有的源文件。在申请变量是如果没有初始化,系统会默认初始化为0。如果在函数内部定义一个与全局变量同名的变量,这个函数中会使用这个局部变量的值。

局部变量的值存储在动态存储区,全局变量的值存储在静态存储区。

二,常量

常量在就是程序执行中不可以改变的量,它可以是任意的基本数据类型,常量只能在定义的时候初始化。

一般我们用两种方法来定义常量:

  • 使用?#define?预处理器。
  • 使用?const?关键字。

#define是在预编译的时候起作用,它会在遇到我们定义的宏用宏里面的内容来直接替换(此时要注意代码里的其他修饰符以免出错)。同时我们也可以用宏来实现一些简单的运算。下面定义一个简单的宏。

#define PI? 3.1415926

const??实在程序运行时起作用,在定义变量时前缀加上const便可以把它变成常量。例如:

const int i;

#define和const给有优缺点

  • define是一个常量值,并不带数据类型,而const是带类型的;
  • 由于#define是在预编译阶段起作用,它也不能进行调试。
  • const不能重定义,而#define可以通过#undef取消某个符号的定义进行定义。
  • define可以用来防止头文件重复引用,而const不能。
  • const会为常量申请空间,#define只在代码区占空间。

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2022-02-22 20:23:18  更:2022-02-22 20:24:30 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 6:26:37-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码