【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對指針求值時,與機器的字長是相關的。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
嵌入式
+關注
關注
5198文章
20442瀏覽量
333986 -
C語言
+關注
關注
183文章
7644瀏覽量
145570 -
嵌入式技術
+關注
關注
10文章
366瀏覽量
43439 -
字符串
+關注
關注
1文章
596瀏覽量
23165 -
sizeof
+關注
關注
0文章
9瀏覽量
6610
發布評論請先 登錄
相關推薦
熱點推薦
微波雷達和毫米波雷達有什么區別
微波雷達和毫米波雷達有什么區別 前言:不知道大家有沒有發現,各種雷達模塊的使用開始逐漸加入各種智能家居產品了,像人來燈亮,人走燈滅這種雷達感應的產品早幾年就開始進入市場了,還有各種感應開關等產品
人工智能工程師高頻面試題匯總:循環神經網絡篇(題目+答案)
后臺私信雯雯老師,備注:循環神經網絡,領取更多相關面試題隨著人工智能技術的突飛猛進,AI工程師成為了眾多求職者夢寐以求的職業。想要拿下這份工作,面試的時候得展示出你不僅技術過硬,還得能解決問題。所以
用30道電子工程師面試題來拷問墮落的你...
今天用30道電子工程師面試題來拷問墮落的你,你能扛住第幾題?1、下面是一些基本的數字電路知識問題,請簡要回答之。(1)什么是Setup和Hold時間?答:Setup/HoldTime用于測試芯片
CY7C65214和CY7C65211/3/5有什么區別?
CY7C65214 和其他 USB 串行橋接控制器之間有什么區別:CY7C65211、CY7C65213 和 CY7
發表于 05-29 06:49
【硬件方向】名企面試筆試真題:大疆創新校園招聘筆試題
名企面試筆試真題:大疆創新校園招聘筆試題-硬件
是幾年前的題目,不過值得參考一下哦
純分享貼,有需要可以直接下載附件獲取完整資料!
(如果內容有幫助可以關注、點贊、評論支持一下哦~
發表于 05-16 17:31
硬件工程師面試必看試題(經典)
硬件工程師面試試題
模擬電路
1、基爾霍夫定理的內容是什么?(仕蘭微電子)
2、平板電容公式(C=εS/4πkd)。(未知)
3、最基本的如三極管曲線特性。(未知)
4、描述反饋電路的概念
發表于 04-21 15:36
低功耗藍牙和經典藍牙,到底怎么選?
經典藍牙(Bluetooth Classic)和低功耗藍牙(Bluetooth Low Energy),兩者有什么區別?為什么他們都叫“藍牙”?Bluetooth Low Energy
【C語言經典面試題】sizeof與strlen有什么區別?
評論