一、定長字符數組的初始化
方法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;