C++数组和大小

5 c++ arrays size

如果我有以下数组声明:int a[5];,这意味着我有一个数组"a",它包含5个整数变量.

它不会在记忆中像这样(见\0)?


| 0 | 1 | 2 | 3 | 4 |\0 |

所以,在这种情况下,我是否仍然说它a[]的大小5或我应该说它的大小6

并且,如果我将它复制到数组:int b [4]在这种情况下会发生什么?它的位置4中的整数变量会发生什么a[],它会覆盖\0吗?

谢谢.

Dav*_*nan 14

通常,数组不会自动为零终止.C字符串以零结尾,但这不是C字符串.

  • @aali,\ 0表示内存中的序列结束.与\n相比,这是完全不同的东西. (2认同)
  • @aali:不,'\ 0'是空字符,不是新行.(另外,"\ 0",是一个C null终止的字符串,它包含两个显式类型的空字符,并且由文件末尾的编译器隐式添加,与'\ 0'不同).我建议你读一本关于C++的好的入门书,并从那里开始工作. (2认同)

kyn*_*tto 6

只有| 0 | 1 | 2 | 3 | 4 | 在记忆中,而不是第六个.所以大小是5.