c中sizeof的用法
c中sizeof的用法你知道嗎?下面小編就跟你們?cè)敿?xì)介紹下c中sizeof的用法,希望對(duì)你們有用。
c中sizeof的用法如下:
學(xué)習(xí)C/C++有時(shí)會(huì)遇到下面的情況:
已知 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;呢? 丈二和尚摸不著頭腦,接下來(lái)我們一起好好討論討論,sizeof()到底是怎么一回事。
首先咱們說(shuō)明一點(diǎn),char類型變量在內(nèi)存中占一個(gè)字節(jié),所以sizeof(char)是1,這點(diǎn)咱們學(xué)C/C++的應(yīng)該很好理解。
str1是一個(gè)指針變量,它只是指向了字符串"absde"而已。sizeof(str1)既不是字符串占的空間長(zhǎng)度,也不是字符數(shù)組占的空間長(zhǎng)度,而是一個(gè)字符型指針占的空間,所以sizeof(str1)=sizeof(char*)=4(因?yàn)樵贑/C++中一個(gè)指針占4個(gè)字節(jié))。
str2是一個(gè)字符型數(shù)組。C/C++規(guī)定,對(duì)于一個(gè)數(shù)組,返回這個(gè)數(shù)組占的總空間,所以sizeof(str2)取得的是字符串"absde"占的總空間。"absde"中,共有a b s d e
c中sizeof的用法
c中sizeof的用法你知道嗎?下面小編就跟你們?cè)敿?xì)介紹下c中sizeof的用法,希望對(duì)你們有用。
c中sizeof的用法如下:
學(xué)習(xí)C/C++有時(shí)會(huì)遇到下面的情況:
已知 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;呢? 丈二和尚摸不著頭腦,接下來(lái)我們一起好好討論討論,sizeof()到底是怎么一回事。
首先咱們說(shuō)明一點(diǎn),char類型變量在內(nèi)存中占一個(gè)字節(jié),所以sizeof(char)是1,這點(diǎn)咱們學(xué)C/C++的應(yīng)該很好理解。
str1是一個(gè)指針變量,它只是指向了字符串"absde"而已。sizeof(str1)既不是字符串占的空間長(zhǎng)度,也不是字符數(shù)組占的空間長(zhǎng)度,而是一個(gè)字符型指針占的空間,所以sizeof(str1)=sizeof(char*)=4(因?yàn)樵贑/C++中一個(gè)指針占4個(gè)字節(jié))。
str2是一個(gè)字符型數(shù)組。C/C++規(guī)定,對(duì)于一個(gè)數(shù)組,返回這個(gè)數(shù)組占的總空間,所以sizeof(str2)取得的是字符串"absde"占的總空間。"absde"中,共有a b s d e \0六個(gè)字符,所以str2數(shù)組的長(zhǎng)度是6,所以sizeof(str2)=6*sizeof(char)=6。
str3已經(jīng)定義成了長(zhǎng)度是8的數(shù)組,所以sizeof(str3)為8。
str4和str2類似,'0' '1' ... '9'加上'\0'共11個(gè)字符,所以str4占的空間是11。
總之,對(duì)于指針,sizeof操作符返回這個(gè)指針占的空間,一般是4個(gè)字節(jié);而對(duì)于一個(gè)數(shù)組,sizeof返回這個(gè)數(shù)組所有元素占的總空間。char*與char[]容易混淆,我們一定要分清,而且char*="aaa"的寫(xiě)法現(xiàn)在不被提倡,應(yīng)予以避免。
而strlen不區(qū)分是數(shù)組還是指針,就讀到\0為止返回長(zhǎng)度。而且strlen是不把\0計(jì)入字符串的長(zhǎng)度的。
str3已經(jīng)定義成了長(zhǎng)度是8的數(shù)組,所以sizeof(str3)為8。
str4和str2類似,'0' '1' ... '9'加上'
c中sizeof的用法
c中sizeof的用法你知道嗎?下面小編就跟你們?cè)敿?xì)介紹下c中sizeof的用法,希望對(duì)你們有用。
c中sizeof的用法如下:
學(xué)習(xí)C/C++有時(shí)會(huì)遇到下面的情況:
已知 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;呢? 丈二和尚摸不著頭腦,接下來(lái)我們一起好好討論討論,sizeof()到底是怎么一回事。
首先咱們說(shuō)明一點(diǎn),char類型變量在內(nèi)存中占一個(gè)字節(jié),所以sizeof(char)是1,這點(diǎn)咱們學(xué)C/C++的應(yīng)該很好理解。
str1是一個(gè)指針變量,它只是指向了字符串"absde"而已。sizeof(str1)既不是字符串占的空間長(zhǎng)度,也不是字符數(shù)組占的空間長(zhǎng)度,而是一個(gè)字符型指針占的空間,所以sizeof(str1)=sizeof(char*)=4(因?yàn)樵贑/C++中一個(gè)指針占4個(gè)字節(jié))。
str2是一個(gè)字符型數(shù)組。C/C++規(guī)定,對(duì)于一個(gè)數(shù)組,返回這個(gè)數(shù)組占的總空間,所以sizeof(str2)取得的是字符串"absde"占的總空間。"absde"中,共有a b s d e \0六個(gè)字符,所以str2數(shù)組的長(zhǎng)度是6,所以sizeof(str2)=6*sizeof(char)=6。
str3已經(jīng)定義成了長(zhǎng)度是8的數(shù)組,所以sizeof(str3)為8。
str4和str2類似,'0' '1' ... '9'加上'\0'共11個(gè)字符,所以str4占的空間是11。
總之,對(duì)于指針,sizeof操作符返回這個(gè)指針占的空間,一般是4個(gè)字節(jié);而對(duì)于一個(gè)數(shù)組,sizeof返回這個(gè)數(shù)組所有元素占的總空間。char*與char[]容易混淆,我們一定要分清,而且char*="aaa"的寫(xiě)法現(xiàn)在不被提倡,應(yīng)予以避免。
而strlen不區(qū)分是數(shù)組還是指針,就讀到\0為止返回長(zhǎng)度。而且strlen是不把\0計(jì)入字符串的長(zhǎng)度的。
總之,對(duì)于指針,sizeof操作符返回這個(gè)指針占的空間,一般是4個(gè)字節(jié);而對(duì)于一個(gè)數(shù)組,sizeof返回這個(gè)數(shù)組所有元素占的總空間。char*與char[]容易混淆,我們一定要分清,而且char*="aaa"的寫(xiě)法現(xiàn)在不被提倡,應(yīng)予以避免。
而strlen不區(qū)分是數(shù)組還是指針,就讀到
c中sizeof的用法
c中sizeof的用法你知道嗎?下面小編就跟你們?cè)敿?xì)介紹下c中sizeof的用法,希望對(duì)你們有用。
c中sizeof的用法如下:
學(xué)習(xí)C/C++有時(shí)會(huì)遇到下面的情況:
已知 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;呢? 丈二和尚摸不著頭腦,接下來(lái)我們一起好好討論討論,sizeof()到底是怎么一回事。
首先咱們說(shuō)明一點(diǎn),char類型變量在內(nèi)存中占一個(gè)字節(jié),所以sizeof(char)是1,這點(diǎn)咱們學(xué)C/C++的應(yīng)該很好理解。
str1是一個(gè)指針變量,它只是指向了字符串"absde"而已。sizeof(str1)既不是字符串占的空間長(zhǎng)度,也不是字符數(shù)組占的空間長(zhǎng)度,而是一個(gè)字符型指針占的空間,所以sizeof(str1)=sizeof(char*)=4(因?yàn)樵贑/C++中一個(gè)指針占4個(gè)字節(jié))。
str2是一個(gè)字符型數(shù)組。C/C++規(guī)定,對(duì)于一個(gè)數(shù)組,返回這個(gè)數(shù)組占的總空間,所以sizeof(str2)取得的是字符串"absde"占的總空間。"absde"中,共有a b s d e \0六個(gè)字符,所以str2數(shù)組的長(zhǎng)度是6,所以sizeof(str2)=6*sizeof(char)=6。
str3已經(jīng)定義成了長(zhǎng)度是8的數(shù)組,所以sizeof(str3)為8。
str4和str2類似,'0' '1' ... '9'加上'\0'共11個(gè)字符,所以str4占的空間是11。
總之,對(duì)于指針,sizeof操作符返回這個(gè)指針占的空間,一般是4個(gè)字節(jié);而對(duì)于一個(gè)數(shù)組,sizeof返回這個(gè)數(shù)組所有元素占的總空間。char*與char[]容易混淆,我們一定要分清,而且char*="aaa"的寫(xiě)法現(xiàn)在不被提倡,應(yīng)予以避免。
而strlen不區(qū)分是數(shù)組還是指針,就讀到\0為止返回長(zhǎng)度。而且strlen是不把\0計(jì)入字符串的長(zhǎng)度的。
c中sizeof的用法
c中sizeof的用法你知道嗎?下面小編就跟你們?cè)敿?xì)介紹下c中sizeof的用法,希望對(duì)你們有用。
c中sizeof的用法如下:
學(xué)習(xí)C/C++有時(shí)會(huì)遇到下面的情況:
已知 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;呢? 丈二和尚摸不著頭腦,接下來(lái)我們一起好好討論討論,sizeof()到底是怎么一回事。
首先咱們說(shuō)明一點(diǎn),char類型變量在內(nèi)存中占一個(gè)字節(jié),所以sizeof(char)是1,這點(diǎn)咱們學(xué)C/C++的應(yīng)該很好理解。
str1是一個(gè)指針變量,它只是指向了字符串"absde"而已。sizeof(str1)既不是字符串占的空間長(zhǎng)度,也不是字符數(shù)組占的空間長(zhǎng)度,而是一個(gè)字符型指針占的空間,所以sizeof(str1)=sizeof(char*)=4(因?yàn)樵贑/C++中一個(gè)指針占4個(gè)字節(jié))。
str2是一個(gè)字符型數(shù)組。C/C++規(guī)定,對(duì)于一個(gè)數(shù)組,返回這個(gè)數(shù)組占的總空間,所以sizeof(str2)取得的是字符串"absde"占的總空間。"absde"中,共有a b s d e \0六個(gè)字符,所以str2數(shù)組的長(zhǎng)度是6,所以sizeof(str2)=6*sizeof(char)=6。
str3已經(jīng)定義成了長(zhǎng)度是8的數(shù)組,所以sizeof(str3)為8。
str4和str2類似,'0' '1' ... '9'加上'\0'共11個(gè)字符,所以str4占的空間是11。
總之,對(duì)于指針,sizeof操作符返回這個(gè)指針占的空間,一般是4個(gè)字節(jié);而對(duì)于一個(gè)數(shù)組,sizeof返回這個(gè)數(shù)組所有元素占的總空間。char*與char[]容易混淆,我們一定要分清,而且char*="aaa"的寫(xiě)法現(xiàn)在不被提倡,應(yīng)予以避免。
而strlen不區(qū)分是數(shù)組還是指針,就讀到\0為止返回長(zhǎng)度。而且strlen是不把\0計(jì)入字符串的長(zhǎng)度的。
熱門(mén)文章
-
有關(guān)項(xiàng)目收尾的成果的計(jì)算機(jī)英語(yǔ)
講關(guān)系數(shù)據(jù)庫(kù)的結(jié)構(gòu)的計(jì)算機(jī)英語(yǔ)
描述分布式管理環(huán)境的計(jì)算機(jī)英語(yǔ)
關(guān)于分布式數(shù)據(jù)庫(kù)系統(tǒng)的計(jì)算機(jī)英語(yǔ)
Oracle的數(shù)據(jù)庫(kù)管理功能的學(xué)習(xí)英語(yǔ)
有關(guān)于計(jì)算機(jī)的英語(yǔ)短文章
計(jì)算機(jī)經(jīng)典英語(yǔ)短文閱讀
計(jì)算機(jī)算法相關(guān)術(shù)語(yǔ)的英語(yǔ)詞匯
描述計(jì)算機(jī)設(shè)備名稱英語(yǔ)單詞學(xué)習(xí)
關(guān)于計(jì)算機(jī)設(shè)備名稱英語(yǔ)詞匯