當前位置

首頁 > 商務英語 > 計算機英語 > c中sizeof的用法

c中sizeof的用法

推薦人: 來源: 閱讀: 2.02W 次

c中sizeof的用法你知道嗎?下面小編就跟你們詳細介紹下c中sizeof的用法,希望對你們有用。

padding-bottom: 133.33%;">c中sizeof的用法

  c中sizeof的用法如下:

學習C/C++有時會遇到下面的情況:

已知 char *str1="absde";

char str2[]="absde";

char str3[8]={'a',};

char str4 [] = "0123456789";

爲什麼sizeof(str1)=4

sizeof(str2)=6;

sizeof(str3)=8;

sizeof(str4)=11;呢? 丈二和尚摸不着頭腦,接下來我們一起好好討論討論,sizeof()到底是怎麼一回事。

首先咱們說明一點,char類型變量在內存中佔一個字節,所以sizeof(char)是1,這點咱們學C/C++的應該很好理解。

str1是一個指針變量,它只是指向了字符串"absde"而已。sizeof(str1)既不是字符串佔的空間長度,也不是字符數組佔的空間長度,而是一個字符型指針佔的空間,所以sizeof(str1)=sizeof(char*)=4(因爲在C/C++中一個指針佔4個字節)。

str2是一個字符型數組。C/C++規定,對於一個數組,返回這個數組佔的總空間,所以sizeof(str2)取得的是字符串"absde"佔的總空間。"absde"中,共有a b s d e