| |
|
开发:
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是在预编译的时候起作用,它会在遇到我们定义的宏用宏里面的内容来直接替换(此时要注意代码里的其他修饰符以免出错)。同时我们也可以用宏来实现一些简单的运算。下面定义一个简单的宏。 #define PI? 3.1415926 const??实在程序运行时起作用,在定义变量时前缀加上const便可以把它变成常量。例如: const int i; #define和const给有优缺点
|
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |