【C語言經(jīng)典面試題】sizeof與strlen有什么區(qū)別?
這道經(jīng)典的面試題,我來跟你一起聊一聊。
1 面試原題
**根據(jù)你對C語言的掌握情況,請簡要描述下 **sizeof 和 strlen 的區(qū)別。
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一般用于對變量和符號求內存大??;
- 兩者是有本質區(qū)別的;還有一個注意點就是:sizeof對指針求值時,與機器的字長是相關的。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
嵌入式
+關注
關注
5082文章
19104瀏覽量
304791 -
C語言
+關注
關注
180文章
7604瀏覽量
136683 -
嵌入式技術
+關注
關注
10文章
360瀏覽量
35839 -
字符串
+關注
關注
1文章
578瀏覽量
20506 -
sizeof
+關注
關注
0文章
9瀏覽量
6439
發(fā)布評論請先 登錄
相關推薦
【面試題】人工智能工程師高頻面試題匯總:機器學習深化篇(題目+答案)
,或者深度學習的框架,還有怎么優(yōu)化模型,這些都是加分項,能有效提高面試通過率。本篇小編整理了一些高頻的機器學習深化方面的面試題,這些題目都是從實際面試中總結出來的,非
【面試題】人工智能工程師高頻面試題匯總:Transformer篇(題目+答案)
隨著人工智能技術的突飛猛進,AI工程師成為了眾多求職者夢寐以求的職業(yè)。想要拿下這份工作,面試的時候得展示出你不僅技術過硬,還得能解決問題。所以,提前準備一些面試常問的問題,比如機器學習的那些算法
人工智能工程師高頻面試題匯總——機器學習篇
,或者深度學習的框架,還有怎么優(yōu)化模型,這些都是加分項,能有效提高面試通過率。本篇小編整理了一些高頻的機器學習方面的面試題,這些題目都是從實際面試中總結出來的,非常具
同樣是函數(shù),在C和C++中有什么區(qū)別
同樣是函數(shù),在 C 和 C++ 中有什么區(qū)別? 第一個返回值。 C語言的函數(shù)可以不寫返回值類型,編譯器會默認為返回 int。 但是
PLC編程語言和C語言的區(qū)別
在工業(yè)自動化和計算機編程領域中,PLC(可編程邏輯控制器)編程語言和C語言各自扮演著重要的角色。盡管兩者都是編程語言,但它們在多個方面存在顯著的區(qū)別
type-c和usb-c有什么區(qū)別
type-c和usb-c有什么區(qū)別? Type-C 和 USB-C 都是指同一個連接標準,它使用
plc編程語言與c語言的聯(lián)系 c語言和PLC有什么區(qū)別
語言,主要用于開發(fā)各種應用程序。盡管PLC編程語言和C語言有一些相似之處,但它們之間也存在一些明顯的區(qū)別
評論