【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求值;其值為:
通過運(yùn)行結(jié)果,我們可以知道,兩者是不一樣的。
4 總結(jié)
- strlen一般用于對字符串求長度,且不包括'\\0'字符;
- sizeof一般用于對變量和符號求內(nèi)存大??;
- 兩者是有本質(zhì)區(qū)別的;還有一個注意點就是:sizeof對指針求值時,與機(jī)器的字長是相關(guān)的。
-
嵌入式
+關(guān)注
關(guān)注
5094文章
19185瀏覽量
307904 -
C語言
+關(guān)注
關(guān)注
180文章
7614瀏覽量
137801 -
嵌入式技術(shù)
+關(guān)注
關(guān)注
10文章
360瀏覽量
36934 -
字符串
+關(guān)注
關(guān)注
1文章
585瀏覽量
20611 -
sizeof
+關(guān)注
關(guān)注
0文章
9瀏覽量
6442
發(fā)布評論請先 登錄
相關(guān)推薦
【面試題】人工智能工程師高頻面試題匯總:概率論與統(tǒng)計篇(題目+答案)
![【<b class='flag-5'>面試題</b>】人工智能工程師高頻<b class='flag-5'>面試題</b>匯總:概率論與統(tǒng)計篇(題目+答案)](https://file1.elecfans.com/web3/M00/06/E0/wKgZO2eQWPWAHFlQAAAmDzER-TY270.png)
【面試題】人工智能工程師高頻面試題匯總:機(jī)器學(xué)習(xí)深化篇(題目+答案)
![【<b class='flag-5'>面試題</b>】人工智能工程師高頻<b class='flag-5'>面試題</b>匯總:機(jī)器學(xué)習(xí)深化篇(題目+答案)](https://file1.elecfans.com/web3/M00/02/6E/wKgZPGdfvdCAVXXcAAApnpClxuY394.png)
【面試題】人工智能工程師高頻面試題匯總:Transformer篇(題目+答案)
![【<b class='flag-5'>面試題</b>】人工智能工程師高頻<b class='flag-5'>面試題</b>匯總:Transformer篇(題目+答案)](https://file1.elecfans.com/web3/M00/02/3B/wKgZO2db3P6AcueVAAA_s2wckVo790.png)
人工智能工程師高頻面試題匯總——機(jī)器學(xué)習(xí)篇
![人工智能工程師高頻<b class='flag-5'>面試題</b>匯總——機(jī)器學(xué)習(xí)篇](https://file1.elecfans.com/web3/M00/01/10/wKgZO2dQGfCAa4fBAABvNSbOFYo347.png)
評論