Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 未填充数组(C+;+;)中的最后一个条目是什么? 我把C++放在C开始,我不确定是否有区别。< /P>_C#_Arrays - Fatal编程技术网

C# 未填充数组(C+;+;)中的最后一个条目是什么? 我把C++放在C开始,我不确定是否有区别。< /P>

C# 未填充数组(C+;+;)中的最后一个条目是什么? 我把C++放在C开始,我不确定是否有区别。< /P>,c#,arrays,C#,Arrays,如果您声明一个数组 char arr[10] 并填写arr[0]到arr[8]的值,将在arr[9]中输入什么值 空格“”?结束行“\n”?”\0'? 还是什么都没有 我这么问是因为我一直在用这样的策略 char word[20]; for(count = 0 ; count < 20 ; count++) { cout << word[count]; } char word[20]; while(word[count] != '\0') { cout <&

如果您声明一个数组

char arr[10] 
并填写arr[0]到arr[8]的值,将在arr[9]中输入什么值

空格“”?结束行“\n”?”\0'? 还是什么都没有

我这么问是因为我一直在用这样的策略

char word[20];
for(count = 0 ; count < 20 ; count++)
{
  cout << word[count];
}
char word[20];
while(word[count] != '\0')
{
  cout << word[count];
}
char-word[20];
用于(计数=0;计数<20;计数++)
{

C++中的cOut

数组,声明为“代码> char Word(20)

基本上在每个条目上都有垃圾。它没有像C一样好的默认值,但很可能只有以前在内存中占据该特定位置的值。简而言之,除非您自己明确设置了该值,否则不要信任该值。

构造字符数组的C语法是:

char[] arr = new char[10];
数组中的所有值都将初始化为
'\0'


也许一个<代码>清单>代码>对于你不知道需要多少个字符的情况更好。另一个选择是A。或者使用<代码>字符串< /C>如果你不需要可更改性。

“C++,因为我刚从C开始,我不确定是否有区别。”这是一个巨大的区别。我认为@Mark严重低估了“巨大”这个词。它应该是粗体的、闪烁的,并且有良好的效果。@JaredPar:还有
。我建议您使用动态数据结构,而不是数组。+1,尽管一些第三方内存管理库会用著名的(对他们)模式,以检测缓冲区溢出、新建/删除问题等。这是真的,但不是很有帮助,根本不能回答问题。@jwaffe:假设数组是在堆栈上分配的。“垃圾”也就是说,以前在这个地址上使用栈的内容是:本地变量、返回地址、任何东西。假设数组是堆上分配的。C++中的垃圾是在那个地址之前使用堆的任何东西:自由列表指针、块大小、旧数据等等。不保证内存的内容,他们节省了初始化的费用。错误和成本的策略,这是由你传给的。好,我没有听说过。是C还是C++?谢谢!@ JWAFE: C。C++的等价于<代码>列表<代码>是代码> STD::向量< /代码>。你应该真正决定哪一个局域网?你想知道是否要回答C++或C语言。很抱歉,我刚开始在C语言中,我不知道是否足够用它来做所有的事情,所以我仍然用C++来操纵控制台应用程序。我在尝试解决C语言第一次处理数组时,试图纠正一个坏习惯。@ JWAFE:下一个TI我建议你提出两个独立的问题