定長字符數組與不定長字符數組的初始化


一、定長字符數組的初始化

方法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;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM