#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(指针大小)(因为只是一个虚函数表中记录的一个指针)

posted on 2010-06-02 18:49  蓝牙  阅读(163)  评论(0编辑  收藏  举报