变量用来暂时的储存一些值,它所储存的值是可以随时变化的。
常量也是用来储存值的但是常量只能初始化一次以后就不能改了。
数据类型是变量或常量的类型
整型 :int,unsigned(无符号),long(长),short(短),unsigned long(无符号长)
浮点型 :float(单精度),double(双精度)
字符型 :char(有符号),unsigned char(无符号)
逻辑型 :bool
以上是基本类型,以下是派生类型
指针 :*
枚举 :enum
数组 :[ ]
结构体 :struct
共用体 :union
类类型 :class
最后是
空类型 : void
以下的程序输出每个类型的内存大小
#include<iostream>
using namespace std;
struct exm1
{
int a;
double b;
};
class exm2
{
int a;
double b;
};
int main()
{
int a1;//整型
unsigned a2;//无符号整型
long a3;//长整型
short a4;//短整型
unsigned long a5;//无符号长整型
float a6;//单精度浮点型
double a7;//双精度
char a8;//字符
unsigned char a9;//无符号字符
bool a0;//逻辑型
exm1 b1;//结构体
exm2 b2;//类
int* b3;//指针
int b4[2];//数组
cout<<"int: ->"<<sizeof(a1)<<endl;//4字节
cout<<"unsigned: ->"<<sizeof(a2)<<endl;//4字节
cout<<"long: ->"<<sizeof(a3)<<endl;//4字节
cout<<"short: ->"<<sizeof(a4)<<endl;//2字节
cout<<"unsigned long: ->"<<sizeof(a5)<<endl;//4字节
cout<<"float: ->"<<sizeof(a6)<<endl;//4字节
cout<<"double: ->"<<sizeof(a7)<<endl;//8字节
cout<<"char: ->"<<sizeof(a8)<<endl;//1字节
cout<<"unsigned char: ->"<<sizeof(a9)<<endl;//1字节
cout<<"bool: ->"<<sizeof(a0)<<endl;//1字节
cout<<"exm1: ->"<<sizeof(b1)<<endl;//16字节=4+8+4字符补齐原则
cout<<"exm2: ->"<<sizeof(b2)<<endl;//16字节=4+8+4字符补齐原则
cout<<"int*: ->"<<sizeof(b3)<<endl;//4字节所有的指针固定四个字节
cout<<"int[]: ->"<<sizeof(b4)<<endl;//8字节=4*2
return 0;
}
根据不同的需要选择不同的类型