一、定长字符数组的初始化
方法1、char Data[256]="";
方法2、char Data[256]={0};
方法3、char Data[256];
memset(Data,0,256);
方法4、char Data[256];
Data[0]='\0';
上面四种方法中,前三种都可以把字符数组中所有元素置成0,第四种方法只是把第一个元素置0,后面的元素值都是随机的。用strlen获取字符串长度都为0;
二、不定长数组的初始化
不定长字符数组的声明或创建
声明、char Data[N];//这种方式在Qt上编译正常,但是声明时不能直接初始化(上面定长字符数组方法一和方法二),需要用以下几种方法初始化
方法一、Data[0]='\0';
方法二、memset(Data,0,sizeof(Data));
创建、char* Data = new char[N];//VS下需要new
初始化:
方法一、Data[0]='\0';
方法二、memset(Data,0,sizeof(Data));
注意:区分char* p = new char[N]与char* p = new char('c')的区别,释放方式也不同
char* p = new char[N];//是开辟一个数组,delete p;
char* p = new char('c')//开辟一个内存单元,并用括号里的初始化,delete [] p;