自己电脑做网站 路由器,网站制作样板,潍坊网站建设电话,中文网站搭建目录儿 4 变量4.1 原始数据类型字符 char整型 short整型 int整型 long整型 long long单精度浮点型 float双精度浮点型 double布尔型 bool 4.2 sizeof 关键字 5 指针和引用 4 变量
4.1 原始数据类型
原始数据类型是构建C程序的最基础数据类型 所有数据都是基于这些原始数据类型… 目录儿 4 变量4.1 原始数据类型字符 char整型 short整型 int整型 long整型 long long单精度浮点型 float双精度浮点型 double布尔型 bool 4.2 sizeof 关键字 5 指针和引用 4 变量
4.1 原始数据类型
原始数据类型是构建C程序的最基础数据类型 所有数据都是基于这些原始数据类型来存储的 后面各种第三库的包装类型、或是自定义的数据类型其底层都是这些原始数据类型。
字符 char
char 类型用于在一定范围内存储整型数据表面上是存储字符 char 类型数据一般占据 1 byte / 8 bit具体大小由编译器决定
char variable_name 65;
char variable_name A;
如果不作显示声明char类型数据默认是有符号的signed 当然我们可以显示地把一个char数据声明为无符号整型unsigned 但是一般不会这么做因为没有意义 我们定义char类型基本都是用于存储字符字符对应的编码都是正的整型数据
unsigned char variable_name; // 不推荐一般而言char类型是用来表示存储的数据是一个字符数据所以cout打印char类型数据的时候会把存储的整型根据编码表转成对应的字符进行输出。 整型 short
short 类型数据一般占据 2 byte / 16 bit具体大小由编译器决定
short variable_name 65;
short variable_name A;如果不作显示声明short类型数据默认是有符号的signed 当然我们可以显示地把一个short数据声明为无符号整型unsigned
unsigned short variable_name;整型 int
int 类型用于在一定范围内存储整型数据 int 类型数据一般占据 4 byte / 32bit具体大小由编译器决定
int variable_name 65;
int variable_name A;如果不作显示声明int类型数据默认是有符号的signed 当然我们可以显示地把一个int数据声明为无符号整型unsigned
unsigned int variable_name;整型 long
long 类型用于在一定范围内存储整型数据 long 类型数据一般占据 4 byte / 32 bit具体大小由编译器决定
long variable_name 65;
long variable_name A;如果不作显示声明long类型数据默认是有符号的signed 当然我们可以显示地把一个long数据声明为无符号整型unsigned
unsigned long variable_name;整型 long long
long long 类型用于在一定范围内存储整型数据 long long 类型数据一般占据 8 byte / 64 bit具体大小由编译器决定
long long variable_name 65;
long long variable_name A;如果不作显示声明long long类型数据默认是有符号的signed 当然我们可以显示地把一个long long数据声明为无符号整型unsigned
unsigned long long variable_name;单精度浮点型 float
float 类型用于在一定范围内存储浮点数据 float 类型数据一般占据 4 byte / 32 bit具体大小由编译器决定
float variable_name 1.2f;给float类型的变量赋值时需要加上一个f/F否则编译器会把这个浮点数当成double处理 加了f/F就向编译器说明这是个float类型的数据 双精度浮点型 double
double 类型用于在一定范围内存储浮点数据 double 类型数据一般占据 8 byte / 64 bit具体大小由编译器决定
double variable_name 1.2;布尔型 bool
bool 类型用于代表ture/false bool 类型数据一般占据 1 byte / 8 bit
bool variable_name true;b将bool类型的数据打印输出时以0代表false 以其他非0数字通常是1代表true具体取决编译器 其实bool类型的数据只占用了1bit但为什么它确需要占据1byte这么多呢 原因是内存寻址的时候是以byte为最小单元的因此最小的数据类型只能小到1byte哪怕它实际用到的内存大小比1byte小 4.2 sizeof 关键字
sizeof关键字可以获取某个变量或者具体的数据类型所占据的字节数
int main() {float flo_var 1.2f;int int_var 5654;std::cout sizeof(flo_var) std::endl; // 4std::cout sizeof int_var std::endl; // 4std::cout sizeof(double) std::endl; // 8std::cin.get();
}不同版本的编译器对加不加()要求可能不同但是规范而言最好加上sizeof(xxx) 5 指针和引用
有了原始数据类型之后我们可以把这些原始数据类型转换成指针或引用
比如现在有一个bool类型的变量
bool bool_var false;转成成指针
bool* bool_var false;转换成引用
bool bool_var false;