3 C++数据类型
3.1 文字常量
字符型char,表示单个字符或者小整数,用一个机器字节表示
整形int,用个机器字表示,在32位机上为4字节。
短整型short,半个字表示,在32位机上为2字节
长整型long,一个或者两个机器字,在32位机上和int长度相同
浮点型float,单精度浮点数,一个字大小
双精度double,两个字大小
long double,长双精度,为3个或者4个字
浮点型文字常量默认是double型,单精度需要由f或者F表明
如:3.15159F
3.2变量
变量的定义会引起相关内存的分配,程序中的每个对象只能被定义一次
在module.c中
string fileName;
在module1.c中
extern string fileName; //对象声明
ifstream input_file(fileName);
如果一个变量在全局域中定义,都被初始化为0.若是通过new动态分配的,则该对象是
未初始化的。类的机制通过所谓的缺省构造函数提供了类对象的自动初始化。
3.3指针类型
在32位机器上,指针大小为4字节
string *p1,p2,则p1为指针,p2为string对象
string *p1,*p2才对
任何指针可以转化为空指针,空指针可以转化成任何类型的指针。
3.4字符串类型
int strlen(const char*)
int strcmp(const char*,const char*)
char *strcpy(char*,const char*)
while(*p++) //先取出p所指向的内容,判断是否true,再执行p++
判断字符串是否为空,可以通过
char* str=0;
if(!str || !*str) //字符串为空
return;
3.5const限定符
const int buffSize=512 //在程序中任何改变这个值的企图都将导致编译错误
const对象必须初始化。
试图将一个非const对象的指针指向一个常量的对象,都将导致编译错误