#include <iostream>
using namespace std;
class X
{
int i;
int j;
char k;
};
int main()
{
char a[] = "abcdef";
int b[20] = {3, 4};
char c[2][3] = {"aa", "bb"};
char q[]="abc";
cout<<sizeof(a)<<endl; // 7 包括后面的\0
cout<<sizeof(b)<<endl; // 80=20*4
cout<<sizeof(c)<<endl; // 6
char p[]="a\n";
printf("%d %d %d %d\n",sizeof(q),sizeof(p),strlen(q),strlen(p));// 4 3 3 2
char ss[] = "0123456789";
cout<<sizeof(*ss)<<endl;//*ss是第一个字符
X x;
cout<<sizeof(X)<<endl; //结果 12 内存补齐 4+4+1+3=12
cout<<sizeof(x)<<endl; //12
return 0;
}
///////////////////////////////////////////////////////////////////////////
char s[HOTCHA]
如果在函数内定义,那么sizeof(s)大小为HOTCHA,如果将s作为参数时(void fun(char s[HOTCHA])),sizeof(s)则为4(指针大小)(因为只是一个虚函数表中记录的一个指针)