首页 > 编程知识 正文

c语言字符串初始化为空,string字符串数组初始化

时间:2023-05-03 16:23:03 阅读:168101 作者:2537

将字符数组初始化为空1 .总结如下:2.分析3 .结论4 .扩展:不使用4.1szname[0]='0',而使用szName[0]=04.2空字符串进行判断

1 .总结如下: #definestr_len1023(1) char str[STR_LEN 1]=' '; )2) char str[STR_LEN 1]={''}; )3) char str[STR_LEN 1]; str[0]=' '; )4) char str[STR_LEN 1]; str[0]=0; )5) char str[STR_LEN 1]; memset(str,0,sizeof ) str ); 2 .分析

(1) (2) )5)的方式是将缓冲器整体全部清除,效率不高。

如果数组的size非常大,这三种方法会产生很大的开销。

另一方面,(3)和(4)的方式,通过只将str排列的最初要素初始化为0来提高效率;

3 .结论效率高,用3、4初始化; 规格,建议5初始化(memset )

因为用3/4进行了初始化,所以后面的字符可能没有被初始化,而是随机的值。 正好使用这些值,印刷也是乱码的原因。 4 .扩展: 4.1不使用szname [0]=‘0’,而使用szname [0]=0szname [0]=‘0’; //warning 4195如果要混淆possibleconfusedigit '0' or zero-termin ate ' ' or letter ' o '//数字0和字符串结尾字符,请直接使用0输入4.2空字符串

if(0!=pcUserName[0]推荐:安全可靠的错误用法:

if(0==strlen(PCusername ) ) warning 4170 function ' strlen ' isunnecessaryorduplicateif (0)==PCusername )0) )

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。