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)=數組的元素個數。
相關文章
相關標籤/搜索