【C語(yǔ)言經(jīng)典面試題】sizeof與strlen有什么區(qū)別?
這道經(jīng)典的面試題,我來(lái)跟你一起聊一聊。
1 面試原題
**根據(jù)你對(duì)C語(yǔ)言的掌握情況,請(qǐng)簡(jiǎn)要描述下 **sizeof 和 strlen 的區(qū)別。
2 知識(shí)點(diǎn)剖析
在C語(yǔ)言中,sizeof用于求一個(gè)變量或符號(hào)的內(nèi)存空間大小,而strlen一般用于求一個(gè)字符串的長(zhǎng)度,且這個(gè)長(zhǎng)度是不包括 '\\0'的。
3 示例代碼
為此,我寫了一段測(cè)試代碼:
?
#include
#include
?
int main(int argc, const char *argv[])
{
char *p = "123456";
?
printf("sizeof(p) = %d\\n", sizeof(p));
printf("strlen(p) = %d\\n", strlen(p));
?
return 0;
}
很簡(jiǎn)單,定義了一個(gè)字符串,分別使用strlen和sizeof求值;其值為:
通過(guò)運(yùn)行結(jié)果,我們可以知道,兩者是不一樣的。
4 總結(jié)
- strlen一般用于對(duì)字符串求長(zhǎng)度,且不包括'\\0'字符;
- sizeof一般用于對(duì)變量和符號(hào)求內(nèi)存大??;
- 兩者是有本質(zhì)區(qū)別的;還有一個(gè)注意點(diǎn)就是:sizeof對(duì)指針求值時(shí),與機(jī)器的字長(zhǎng)是相關(guān)的。
-
嵌入式
+關(guān)注
關(guān)注
5152文章
19675瀏覽量
317659 -
C語(yǔ)言
+關(guān)注
關(guān)注
180文章
7632瀏覽量
141800 -
嵌入式技術(shù)
+關(guān)注
關(guān)注
10文章
365瀏覽量
41181 -
字符串
+關(guān)注
關(guān)注
1文章
590瀏覽量
22293 -
sizeof
+關(guān)注
關(guān)注
0文章
9瀏覽量
6542
發(fā)布評(píng)論請(qǐng)先 登錄
CY7C65214和CY7C65211/3/5有什么區(qū)別?
硬件工程師面試必看試題(經(jīng)典)
GD32與STM32有什么區(qū)別
私有云和公有云有什么區(qū)別
AIGC和AI有什么區(qū)別
【面試題】人工智能工程師高頻面試題匯總:概率論與統(tǒng)計(jì)篇(題目+答案)

【面試題】人工智能工程師高頻面試題匯總:機(jī)器學(xué)習(xí)深化篇(題目+答案)

【面試題】人工智能工程師高頻面試題匯總:Transformer篇(題目+答案)

人工智能工程師高頻面試題匯總——機(jī)器學(xué)習(xí)篇

同樣是函數(shù),在C和C++中有什么區(qū)別
FCCSP與FCBGA都是倒裝有什么區(qū)別

評(píng)論