基本内置类型可以分成算术类型和空类型 (来自繁琐的C++Primer,巴拉巴拉...废话一大堆)
👆👆👆👆👆👆上面的都是废话 ,上图, 这个是C++Primer里面的解析 👆👆👆👆
(有基础的同学其实是可以不用看图片的啦)
其中有标记的是不太经常使用的,像w_char 这种宽类型和char_16t ,char_32t 这种扩展的类型我们平时都是不怎么会使用的得到,要的时候可以
自己查。 (各种数据类型存放的数据我就不缀诉了)
但是有一个我们要注意的是 float 类型和double类型,这两个都是用来表示浮点数的数据类型,有啥不同呢?
1. float表示的单精度浮点运算,最多只能够支持6位有效数字,啥意思呢? 就是所有的数字加起来(像1.11111和21312.111)这些数字加起来不能超过6个
2. double类型表示的是双精度浮点运算,最多能够支持到10位数,具体的意思可以参考下float的
但是如果我要表示的数字还是超过了10位数字那又该怎么办了呢???
这时候就要看看我标记出来的数据类型了,比如.....long 这种类型 ,我们知道一般long的使用方式是这样子的 long int i = .... / long double = ... /对,他的主要作用就是扩容
那??为啥不能够用long 扩容达到double的效果呢?
在C++Primer 里面有描述到,扩容会消耗内存和增加运算,而且double和float在运算的时候内存和运算几乎差不多,有的时候double类型还会更加优于float,所以在这里,同学们只要首选啥了吧?
好了,数据的类型就将这么多,至于标题的那个嘛。。大家可以不必理会,等学到一定程度就懂了
无符号类型和有符号类型的异同
所谓无符号类型,在C/C++里面是通过一个单词unsigned来定义的,那么这个小小的单词有啥强大之处呢?----举个栗子 ~ ~ ~ ~
比如说正负就是符号,无符号就是没有对比,没有对比就没有正负啦,然后就是只有正没有负的啦~~~ 开个小玩笑
所以知道是是啥问题了吗?对 , 有符号就是内存的第一位位置不是用来计数的,是用来分辨正负的,但是无符号类型就是用来计数的,就是这么easy啦
还有好东西(码字累呀/(ㄒoㄒ)/~~), 明天接着打
1/24/2021 第二天更新(日更王!!)
课前导读:
1. 字面值常量 2 .const的引用 3. auto和dealtype的基本用法
:啦啦啦啦啦~~~ (某天晚上,小博主正在快乐的遨游抖音的世界)
:啪!~(某小博主被扇红了脸),整天像个疯婆子一样,不知道更新就知道摸鱼🐟。
:呜呜~~,马上更新啦~呜呜
1. 字面值常量
一个形如42的值被称作字面值常量,这样的值一望而知 , 每个字面值常量都对应一种数据类型 。 字面值常量的形式....(@#$%^&*gan 你, 这么长还这么晦涩难懂) <-----来自C++ Primer 的解析,那么我就长话短说吧 。
所谓字面值,那就是面值,就像咋们用的钱一样,都有一个面值的,啥10块,20块,主要指的是前面的 “值” , 字面值常量单纯就是一个概念上的东西,但是我们在学习C++ Primer的时候却会经常出现,就要求咋们得熟悉
下面说的字符面值和字符串面值也是如此 。
1.1 字符面值
在学习C语言的时候我们应该都会接触过char 类型 , char类型有一种表达的形式 ,char a = {' a' , 'b', ... } 这里用到的 'a' , ' b ' 就是我们日常所说的字符 ,同理 , ‘ a’ 这种字符就称作为字符面值 。
1.1 字符串面值
从字符面值上引用下, 所谓字符串呐,就是在char a = {' a' , 'b', ... }的基础上加上一个 字符 ' \0' , 然后就可以形成一个字符串啦 。 譬如 , char * a = nullptr ; strcpy(a , "hello world!") ; 像这种带有双引号的就是字符串啦 ,字符串面值的话
,嗯哼,对,就是 "hello world!"
2 .const的引用
const的中文释义就是常量,中文的理解,何为常量?------对,就是不会改变的值就是常量
const 的引用和一些常用法
const的引用 const T 和 T const 的区别(T为基本的数据类型) 顶级和底级const
const的引用
const 的引用和普通的引用没啥区别,主要就是要注意所引用的类型要和对象类型相同,啥意思呢? 比如昂 , 我有一个常量a ,字面值是10 ,而且还是一个常量(const限定类型)的 -----> const int a = 10 ;
如果我要引用它直接用int &b =a ; 这样行不行呢? 答案是不行,以为a有限定,如果引用之后,限定会消失,编译器不允许这么做,所以给了抛出了一个错误 。
const T 和 T const 的区别(T为基本的数据类型)
废话不多哔哔,上代码 ,
关于顶级和底级const,int i =42;. const int &rl =i; // 允许将const int&绑定到一个普通int对象上 const int &r2 =42; // 正确:rl是一个常量引用 const int &r3 =rl * 2; // 正确:r3是一个常量引用 int &r4 = rl * 2; // 错误:r4是一个普通的非常量引用
只要记住一个东西就好,就是如果修饰的是一个值,这个不能够被修改的话,那么这个就是一个顶级的const,就比如 : int *const p1 = &i ; // const int p2 = i ; // 像这种值不能改变就是顶级const ,
像 : int const *p3 = &i ; 这种指针不能被修改,但是值可以被修改的就是一个底级的const
还有好东西(码字累呀/(ㄒoㄒ)/~~), 明天接着打,继续遨游在快手的世界之中~~
1/27/2021 第三天更新(数据结构扫盲)
按照视点的不同,可以把数据结构分为 逻辑结构 和 物理结构:
基本的目标就是将数据及其逻辑关系存储到计算机的内存中
一:逻辑结构
是指数据对象中数据元素之间的相互关系
面向问题的
可具体分为以下四种关系
A:集合结构
数据元素除了同属于一个集合外,它们之间没有其他关系
B:线性结构
数据元素之间是一对一关系
C:树形结构
数据元素之间呈现一对多关系
D:图形结构
数据元素是多对多关系
二:物理结构
是指数据的逻辑结构在计算机中的存储形式,因此也称为 存储结构
是面向计算机的
A:什么是数据
数据是数据元素的集合
那么根据物理结构的定义,实际上就是如何把数据元素存储到计算机的存储器中
B:什么是存储器
存储器主要是针对内存而言的,像硬盘,软盘,光盘等外部存储器的数据组织通常用文件结构来描述