【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對指針求值時,與機器的字長是相關的。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
嵌入式
+關注
關注
5146文章
19598瀏覽量
316261 -
C語言
+關注
關注
180文章
7630瀏覽量
141005 -
嵌入式技術
+關注
關注
10文章
365瀏覽量
40882 -
字符串
+關注
關注
1文章
589瀏覽量
21228 -
sizeof
+關注
關注
0文章
9瀏覽量
6536
發布評論請先 登錄
相關推薦
熱點推薦
CY7C65214和CY7C65211/3/5有什么區別?
CY7C65214 和其他 USB 串行橋接控制器之間有什么區別:CY7C65211、CY7C65213 和 CY7
發表于 05-29 06:49
硬件工程師面試必看試題(經典)
硬件工程師面試試題
模擬電路
1、基爾霍夫定理的內容是什么?(仕蘭微電子)
2、平板電容公式(C=εS/4πkd)。(未知)
3、最基本的如三極管曲線特性。(未知)
4、描述反饋電路的概念
發表于 04-21 15:36
AIGC和AI有什么區別
AIGC是AI在內容生成領域的一個特定應用方向,AI的技術發展為AIGC提供了基礎和支撐。那么,AIGC和AI有什么區別呢?下面,AI部落小編帶您詳細了解。
【面試題】人工智能工程師高頻面試題匯總:概率論與統計篇(題目+答案)
?隨著人工智能技術的突飛猛進,AI工程師成為了眾多求職者夢寐以求的職業。想要拿下這份工作,面試的時候得展示出你不僅技術過硬,還得能解決問題。所以,提前準備一些面試常問的問題,比如概率論與統計知識

【面試題】人工智能工程師高頻面試題匯總:機器學習深化篇(題目+答案)
,或者深度學習的框架,還有怎么優化模型,這些都是加分項,能有效提高面試通過率。本篇小編整理了一些高頻的機器學習深化方面的面試題,這些題目都是從實際面試中總結出來的,非

【面試題】人工智能工程師高頻面試題匯總:Transformer篇(題目+答案)
隨著人工智能技術的突飛猛進,AI工程師成為了眾多求職者夢寐以求的職業。想要拿下這份工作,面試的時候得展示出你不僅技術過硬,還得能解決問題。所以,提前準備一些面試常問的問題,比如機器學習的那些算法

人工智能工程師高頻面試題匯總——機器學習篇
,或者深度學習的框架,還有怎么優化模型,這些都是加分項,能有效提高面試通過率。本篇小編整理了一些高頻的機器學習方面的面試題,這些題目都是從實際面試中總結出來的,非常具

同樣是函數,在C和C++中有什么區別
同樣是函數,在 C 和 C++ 中有什么區別? 第一個返回值。 C語言的函數可以不寫返回值類型,編譯器會默認為返回 int。 但是
美國多IP服務器和美國多服務器有什么區別
美國多IP服務器和美國多服務器有什么區別
美國多IP服務器和美國多服務器在概念、功能以及應用場景上存在明顯的區別。主機推薦小編為您整理發布美國多IP服務器和美國多服務器有
AIC3254的miniDSP編寫代碼和編寫C5502代碼有什么區別?
問題:AIC3254的miniDSP編寫代碼和編寫C5502代碼有什么區別,執行速度和代碼量來進行分析吧,謝謝回復
發表于 11-06 07:22
評論