#include<iostream>
using namespace std;
int main()
{
cout<<"Enter\n";
char ch[0];
cin>>ch;
cout<<sizeof ch;
cout<<sizeof &ch;
cout<<"\n You entered \n"<<ch<<"\n";
return 0;
}
我使用 g++ 编译器来编译 C++ 程序。char ch
和的内存分配有什么区别char ch[0]
。ch
可以接受一个字符,但ch[0]
可以接受多个字符(我输入了qqqqqqqq)。为什么?还有为什么sizeof ch
返回 0 而sizeof &ch
给出 4,却ch
接受超过四个字符?