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

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

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

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

評論