【C語言經典面試題】sizeof與strlen有什么區別?
這道經典的面試題,我來跟你一起聊一聊。
1 面試原題
**根據你對C語言的掌握情況,請簡要描述下 **sizeof 和 strlen 的區別。
2 知識點剖析
在C語言中,sizeof用于求一個變量或符號的內存空間大小,而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求值;其值為:
通過運行結果,我們可以知道,兩者是不一樣的。
4 總結
- strlen一般用于對字符串求長度,且不包括'\\0'字符;
- sizeof一般用于對變量和符號求內存大小;
- 兩者是有本質區別的;還有一個注意點就是:sizeof對指針求值時,與機器的字長是相關的。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
嵌入式
+關注
關注
5086文章
19143瀏覽量
306092 -
C語言
+關注
關注
180文章
7608瀏覽量
137111 -
嵌入式技術
+關注
關注
10文章
360瀏覽量
36190 -
字符串
+關注
關注
1文章
584瀏覽量
20552 -
sizeof
+關注
關注
0文章
9瀏覽量
6439
發布評論請先 登錄
相關推薦
【面試題】人工智能工程師高頻面試題匯總:機器學習深化篇(題目+答案)
,或者深度學習的框架,還有怎么優化模型,這些都是加分項,能有效提高面試通過率。本篇小編整理了一些高頻的機器學習深化方面的面試題,這些題目都是從實際面試中總結出來的,非
【面試題】人工智能工程師高頻面試題匯總:Transformer篇(題目+答案)
隨著人工智能技術的突飛猛進,AI工程師成為了眾多求職者夢寐以求的職業。想要拿下這份工作,面試的時候得展示出你不僅技術過硬,還得能解決問題。所以,提前準備一些面試常問的問題,比如機器學習的那些算法
人工智能工程師高頻面試題匯總——機器學習篇
,或者深度學習的框架,還有怎么優化模型,這些都是加分項,能有效提高面試通過率。本篇小編整理了一些高頻的機器學習方面的面試題,這些題目都是從實際面試中總結出來的,非常具
同樣是函數,在C和C++中有什么區別
同樣是函數,在 C 和 C++ 中有什么區別? 第一個返回值。 C語言的函數可以不寫返回值類型,編譯器會默認為返回 int。 但是
PLC編程語言和C語言的區別
在工業自動化和計算機編程領域中,PLC(可編程邏輯控制器)編程語言和C語言各自扮演著重要的角色。盡管兩者都是編程語言,但它們在多個方面存在顯著的區別
TC397多核之間數據訪問效率有什么區別?本地和全局的效率有什么區別?
TC397多核之間數據訪問效率有什么區別,本地和全局的效率有什么區別,可不可以將電機同步ADC采集放到主核0,算法在1核執行
發表于 02-06 07:42
plc編程語言與c語言的聯系 c語言和PLC有什么區別
語言,主要用于開發各種應用程序。盡管PLC編程語言和C語言有一些相似之處,但它們之間也存在一些明顯的區別
評論