**
2020-9-25 C++知识点累积(二)
**
一、
C语言中‘’和“”的区别
1.含义不同
单引号代表一个字符实际上代表一个整数,整数值对应于ASCII字符集,因此’s’的含义其实和十进制数115的含义是一致的。
双引号代表的是指向无名char数组的指针
2.大小不同
单引号一个字符大小就是一个字节
双引号大小是字符的总大小+1,因为用双引号引起的字符串会在字符串末尾添加一个二进制为0的字符’\0’。
二、
float 保留小数点后7位,强转int取整数位0.123转为0
三、
char和char**的区别
设char a;
charp=&a;
表示p是一个指针变量,里面保存的是一个地址,该地址是字符类型变量a所在的位置。
char**pp=&p;
表示pp是一个指针变量,里面保存的是一个地址,该地址是指针变量p所在的位置。
四、
nullptr和NULL的区别
NULL是一个宏定义,在c和c++中的定义不同,c中NULL为(void*)0,而c++中NULL为整数0
//C语言中NULL定义
#define NULL (void*)0 //c语言中NULL为void类型的指针,但允许将NULL定义为0
//c++中NULL的定义
#ifndef NULL
#ifdef _cpluscplus //用于判定是c++类型还是c类型
#define NULL 0 //c++中将NULL定义为整数0
#else
#define NULL ((v