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对象的指针指向一个常量的对象,都将导致编译错误

原文地址:https://www.cnblogs.com/estival/p/3262596.html