sizeof 的用法

void foo(char str[100])
{
	cout<<sizeof(str)<<endl;
}
int main ()
{
    char str[]="\b\0";
    char *p =str;
    int n=10;
    void *x = malloc(100);
    cout << sizeof(str)<<endl;       //3数组内只有三个字符
    cout <<sizeof(p)<<endl;			 //4---指针均为四个字节    
    cout<<sizeof(n)<<endl;			//4----int型为四个字节
    cout<<sizeof(x)<<endl;			//4----指针为四个字节
    foo(str);		//4
    return 0;
}

  (1)注意字符串时,后面隐藏着一个'\0'字符。数组

   并且转义字符算一个字符来计算,转移字符以下图所示:函数

转义字符
意义
ASCII码值(十进制)
\a
响铃(BEL)
007
\b
退格(BS) ,将当前位置移到前一列
008
\f
换页(FF),将当前位置移到下页开头
012
\n
换行(LF) ,将当前位置移到下一行开头
010
\r
回车(CR) ,将当前位置移到本行开头
013
\t
水平制表(HT) (跳到下一个TAB位置)
009
\v
垂直制表(VT)
011
\\
表明一个反斜线字符''\'
092
\'
表明一个单引号(撇号)字符
039
\"
表明一个双引号字符
034
\?
  
表明一个问号
  
063
  
\0
空字符(NULL)
000
\ooo
1到3位八进制数所表明的任意字符
三位八进制
\xhh
1到2位十六进制所表明的任意字符
二位十六进制
注意:区分,斜杠:"/" 与 反斜杠:"\" ,此处不可互换
(2)指针均为4个字节
(3)char  1字节
  short 2字节
  int long float  4字节
  double     8字节
(4)数组a做为函数形参时,sizeof(a)=4;
  数组b做为局部变量/全局变量/静态变量 的数组时,sizeof(b)=数组的元素个数。
相关文章
相关标签/搜索