1 不同类型

1.1 静态变量

分类:

分为静态全局变量和静态局部变量

作用域:

需要注意静态全局变量也仅仅是在本文件中可用,除非加extern关键字。

内存分配位置

在全局区分配空间,初始值为0。

1.2 局部非静态变量

内存分配位置:

内存分配在栈空间,栈空间初始值为随机值。

作用域:

作用域为当前块(大括号)中

1.3 常量

1.3.1 宏常量

通常定义在文件头部

语法

#define 加常量名加常量值   (不可修改)

1.3.2 const

语法

const  常量类型  常量名 = 常量值; (不可更改)

1.3.3 const和define的区别

编译器处理方式不同:

对于#define, 编译器会在预处理阶段把所有宏替换成所定义的东西, 并不是给其分配内存.

类型和安全检查不同:

#define仅仅作替换, 不会做类型检查. 而const定义的常量有具体的数据类型, 编译阶段也会进行类型检查.

存储方式不同:

#define定义的宏在每次使用的过程中都会进行一次替换, 且每次替换都会重新分配一次内存, const定义的常量会在内存中分配内存.

const节省空间:

如以下例子:

#define PI 3.14159 //常量宏
const doulbe Pi = 3.14159; //此时并未将Pi放入ROM中 ......
double i = Pi; //此时为Pi分配内存,以后不再分配!
double I = PI; //编译期间进行宏替换,分配内存
double j = Pi; //没有内存分配
double J = PI; //再进行宏替换,又一次分配内存!
  • const效率更高
  • 宏替换只作替换,不做计算,不做表达式求解

2 数据类型

2.1 sizeof关键字

用法

sizeof(数据类型/变量),返回所占字节数。

2.2 实型(浮点型)

2.2.1 float(单精度)

占4字节     7位有效数字          声明float型最好在值后面加f(如float f1 = 3.14f   如果不加, 编译器会默认其是double型, 然后再转换成float)

2.2.2 double(双精度)

占8字节     15-16位有效数字

2.2.3 printf打印

比如在printf中打印实型变量:

%-30.4f

其中“-”表示左对齐, “30”表示至少要有三十个字符的长度,“.4”表示精确度保留小数4位,f表示实型。如果存在“e”表示用科学计数法打印。

2.3 字符型

表示单个字符的变量类型, 一定要用单引号表示一个字符 (如char ch = ‘a’,而不可以为char ch = ‘abc’,也不可以为char ch = “a”)。

2.4 字符串

  • C风格字符串        char 变量名[] = "字符串值"
  • C++风格字符串    string 变量名 = "字符串值"

2.5 数组

初始化

如果数组未全部初始化,剩下的数默认为0,注意,数组名为常量类型,不可以赋值.

数组名称用途

  • 可以获取数组首地址
  • 可以统计数组占用内存
  • 可以用于数组长度求解, sizeof(数组名) / sizeof(数组名[0])可以算出数组元素个数, 但是要注意, 数组名作为参数传递到另一个函数中的形参时, 会退化为指向数组首地址的指针.

二维数组

初始化可以省略行数(不写行数的前提是不能只有一个声明,比如:int a[][4];,必须直接给数组赋值,比如:int a[][4] = {1, 2, 3, 4, 5, 6, 7, 8},这样默认就是一个a[2][4]),但是不能省略列数

2.6 枚举

2.6.1 enum

2.6.2 enum class

C++数据的一些注意事项相关推荐

  1. mysql怎么退出时保存导出_Mysql应用使用MySQL MySqldump命令导出数据时的注意事项...

    <Mysql应用使用MySQL MySqldump命令导出数据时的注意事项>要点: 本文介绍了Mysql应用使用MySQL MySqldump命令导出数据时的注意事项,希望对您有用.如果有 ...

  2. mysql命令导出数据不完整_使用MySQL MySqldump命令导出数据时的注意事项

    今天使用mysqldump命令备份数据的时候出现了一个问题. 一开始迁移 Discuz 7 论坛的 mysql 数据库时,采用 mysqldump 命令的时候一切顺利,但导入的时候却遇到了 ERROR ...

  3. cte公用表表达式_CTE SQL删除; 在SQL Server中删除具有公用表表达式的数据时的注意事项

    cte公用表表达式 In this article, the latest in our series on Common table expressions, we'll review CTE SQ ...

  4. 拼接大屏数据展示_大屏数据可视化设计注意事项

    大屏数据可视化是以大屏为主要展示载体的数据可视化设计.大屏的特点,使得在用户观感上留下独特的印象,同时,大屏所具备储存更大的信息量,对于大屏企业来说重点主要在于将信息全面的显示在屏幕上,关注于画质的清 ...

  5. 如何将计算机硬盘导出,win7系统电脑下硬盘导入与导出数据的一些注意事项

    硬盘导入和导出数据分为两种情况,第一种是远程数据处理,第二种是本地.很多时候我们都需要对硬盘中的文件进行移动,那么下面搜图云的小编就跟大家来分享一下win7系统电脑下硬盘导入与导出数据的一些注意事项吧 ...

  6. 数据类型转换_注意事项

    转换原理图解 强烈注意 浮点转成整数,直接取消小数点,可能造成数据损失精度. int 强制转成short 砍掉2个字节,可能造成数据丢失. // 定义s为short范围内最大值 short s = 3 ...

  7. 如何快速向oracle插入大量数据,以及注意事项

    首先创建数据库,这里以oracle为例子,好像mysql差不多也是这样的 CREATE TABLE USSER2(ID NUMBER(10,0) NOT NULL ENABLE,NAME2 VARCH ...

  8. ERP中数据导入的注意事项&常见异常处理(EDI)

    EXCEL表格注意事项: • 编码是0开头的,格式必须是文本,否则前面请加字母: • 注意全角半角,中文标点英文标点: • 编号文字类开头和结尾不要有空格,姓名中间也不要有空格: • 填写编码的地方不 ...

  9. ERA5-Land 逐小时数据_累积值(如辐射数据)处理的注意事项

    目录 1.累积变量定义 2.累计值转换为瞬时值 2.1计算1小时内的平均瞬时辐射 2.2计算1天内的平均瞬时辐射 3.提取全天累积量的技巧 1.累积变量定义 ERA5数据文档中对"累积变量& ...

  10. 写数据到文件注意事项write方法

    [问题1] 使用FileOutputStream类写数据到文件中,本来是很简单的实现,但就是生成的文件与原文件大小不一样,排查了一整天,才找到问题原因所在, writer = new FileOutp ...

最新文章

  1. SQL老司机,在SQL中计算 array map json数据
  2. dfs-Rank the Languages
  3. Unix/Linux操作系统中如何在sqlplus/rman中使用方向键
  4. boost::io::ostream_joiner和boost::io::make_ostream_joiner用法的测试程序
  5. python字符串基本操作-Python 基本字符串操作
  6. Fiddler抓包5-接口测试(Composer)
  7. LeetCode 742. 二叉树最近的叶节点(建立父节点信息+BFS)
  8. linux 编译3g驱动_linux重新编译内核
  9. 挑战程序设计竞赛(第2版)》
  10. 初步解决leiningen配置到Eclipse中出错的问题
  11. 配置pytoch版人脸关键点网络pfld docker环境
  12. 来听大师讲设计(中)
  13. Android-APP内存优化
  14. 聊一聊那些应该了解的大佬(飞控,人工智能方向)
  15. 苹果笔记本,电源指示灯一直为橙色的解决办法
  16. php ppt read_PHP生成PPT
  17. Unity中让游戏对象消失或隐藏的几种方法
  18. C# 反射实例化对象
  19. 数学建模查找资料的方法以及网站
  20. Silverlight5_Tools安装出错解决办法

热门文章

  1. 直通输出设备 android kodi,【本地播放】利用Kodi媒体播放器轻松实现源码输出DTS到功放...
  2. oracle 表 上限,Oracle分区表(Partition Table)的数量限制
  3. python能处理图片吗_python 能处理图像?
  4. oracle 批量 重建索引,Oracle重建索引Shell脚本、SQL脚本分享
  5. Pyinstaller打包Django项目
  6. Android缓存学习入门(二)
  7. python之socket编程
  8. java+long是什么_Java中long的模运算符是什么? - java
  9. mysql binlog过期策略_对存在过期 binlog 的 MySQL5.7 添加从服务器
  10. cad里面f命令用不了_CAD出现命令无效、失灵等问题?不用慌,两招帮你快速解决...