与其他问题的区别
我不是问如何找到大小,而是计算机如何找到大小.
目标
我想知道C++如何找到数组(使用sizeof(array))和2D数组(使用sizeof(array))的大小.
当我运行代码时,我认为输出将是3和6.但它是12和24!?如何使输出3和6?
我不知道如何计算数组的大小,所以当我说"三/六输出"时,我指的是数组中的数字量.
码
#include <iostream>
using namespace std;
int main()
{
int oneDArray [3] = {1, 2, 3};
int twoDArray [2][3] = {{1, 2, 3}, {1, 2, 3}};
cout << sizeof(oneDArray) << "\n" << sizeof(twoDArray);
return 0;
}
Run Code Online (Sandbox Code Playgroud) 目标
最后,我想知道为什么C++不支持char letter = "C";但支持char letter = 'C';(注意引号不同).
码
我使用Repl.it作为代码平台.
#include <iostream>
int main()
{
char letter = "C";
std::cout << letter;
}
Run Code Online (Sandbox Code Playgroud)
错误信息
main.cpp:在函数'int main()'中:
main.cpp:5:19:错误:从'const char*'到'char'的无效转换[-fpermissive] char letter ="C";