第二章 数据类型
前言
C++基本继承了C语言的数据类型。不同的划分标准会有不同的说法,我们这里把数据类型分为简单类型和结构类型两种。
1、c++有哪几种基本数据类型
C\C++中数据类型分为两种,简单类型和结构类型。
- 简单类型
- 整数类型
- 字符类型
- 浮点类型
- 指针类型
- 枚举类型
- void类型
- 结构类型
- 数组
- 字符串
- 记录和文件
C\C++的基本数据类型属于简单类型。
基本类型:用户可以创建的所有数据类型都是根据基本类型定义。
C\C++语言定义的基本类型分别是,字符型,整型,浮点型等。
C\C++中的基础类型分为3种,整数型,浮点型和void型。程序中不能定义void类型的变量,它仅仅是用于说明函数没有返回值或说明指针是无类型的。
2、整型的形式及区别
整型是用来表示没有小数位的数,在c++中,用来表示整数,字符和布尔值的算术类型合称为整型。
注意:注意,各种类型的存储大小与系统位数有关,但目前通用的以64位系统为主。以下列出了32位系统与64位系统的存储大小的差别(windows 相同):
代码演示:
#include"bar.h"
#include<stdio.h>
int main(void)
{
/* define a variable of type of 字符。 8bits=1Bytes */
//**①int 4Bytes=32bits**
//int iValue = 9; //**i**
unsigned int uiValue = 9u; //**u**
//**②short 2Bytes=16bits**
//short sValue = 666; //**h**
//unsigned short usValue = 9u; //**hu**
//**③char 1Bytes=8bits**
//char cValue = 55; //**hhi**
//unsigned char ucValue = 9u; //**hhu**
//**④long 8Bytes=64bits**
//long lValue = 9l; //**li**
//unsigned long ulValue = 9ul; //**lu**
//**⑤long long 8Bytes=64bits**
//long long llValue = /* 十六进制 0x5ell */ /* 八进制 0136 */ /*二进制 */ 0b01011110; //**lli**
//unsigned long long ullValue = 9ull; //**llu**
//**⑥float 4Bytes=32bits**
float fValue = 12.56f; //**f**
//**⑦double 64bits = 8Bytes**
double dValue = 12.56; //**f**
//**⑧long double 64bits =8Bytes**<br />
long double ldValue = 1.256e1; //**L**
/* 12.56 = 1.256*10^1 = 1.256e+1 =1.256e1 */
long double ldValue =* 1.256e1; //**Le** **科学计数法**
printf("number is %**i**\n", uiValue);
//printf("size is %**i**\n", sizeof(uiValue));
bar();
return 0;
}
3、用sizeof关键字测量大小
sizeof能够测量C语言各种实体所占用的字节大小。
如:
sizeof(int)
printf("%d\n", sizeof(int));
sizeof后面既可以跟类型,也可以跟变量、常量。
- 跟类型,测类型所占用字节的大小。
- 跟变量,测变量的类型所占用字节大小。
- 跟常量,测常量的类型所占用字节大小。
代码实例:
int a;
printf("sizeof int = %d\n", sizeof(int)); // 1.测类型所占用字节的大小
printf("sizeof a = %d\n", sizeof(a)); // 1.测变量的类型所占用字节大小
printf("sizeof 123 = %d\n", sizeof(123)); // 1.测常量的类型所占用字节大小
4、浮点型的形式及区别
总结
C\C++还提供了可用于自定义数据类型的机制,标准库正是利用这些机制定义了许多更复杂的类型,例如,可变长字符串string和vector等,此外程序员还能自己修改已有的基本类型以灵活定制复合数据类型。