C++字符数组初始化,第一个字符赋值为0,了解一下下面的value值以及和filename[0]=
C++字符数组初始化,第一个字符赋值为0,了解一下下面的value值以及和filename[0]=NULL的区别,谢谢啦~...
C++字符数组初始化,第一个字符赋值为0,了解一下下面的value值以及和filename[0]=NULL的区别,谢谢啦~
展开
展开全部
NULL 不能赋值给 char 数组,因为 NULL 在 C++ 里面被定义为 (LPVOID)0,是一个指向进程虚拟空间中受保护的区域;第一个字符赋值为 0 是为了防止标准 C++ 库的字符串函数计算字符串长度时出错;正确的初始化方法应该是 char string[ n ] = { 0 };其中 n 是你的字符串长度,这样子编译器会自动帮你把整个数组清空为 0,而 string[ 0 ] = 0 只会把第一个元素清零,其余元素的指随机;
追问
非常感谢~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询