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

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

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

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

評論