新动态字符数组末尾的空字符
Null character in the end of the new dynamic char array
如果我创建动态字符数组:
char * c = new char[5];
而且我不使用字符串填充它,空字符 [=11=]
会在这个数组的末尾吗?
不,字符指针只是指针。他们甚至不必指向数组。
在您的特定情况下,新数组的元素未初始化。如果你想让它们初始化为零,你可以这样做:
char * c = new char[5]();
这会将所有元素设置为 [=11=]
。您可以考虑 c
指向一个以 null 结尾的字符串。
如果我创建动态字符数组:
char * c = new char[5];
而且我不使用字符串填充它,空字符 [=11=]
会在这个数组的末尾吗?
不,字符指针只是指针。他们甚至不必指向数组。
在您的特定情况下,新数组的元素未初始化。如果你想让它们初始化为零,你可以这样做:
char * c = new char[5]();
这会将所有元素设置为 [=11=]
。您可以考虑 c
指向一个以 null 结尾的字符串。