【C語言經典面試題】sizeof與strlen有什么區(qū)別?
這道經典的面試題,我來跟你一起聊一聊。
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)系本站處理。
舉報投訴
-
嵌入式
+關注
關注
5210文章
20680瀏覽量
337374 -
C語言
+關注
關注
183文章
7646瀏覽量
146202 -
嵌入式技術
+關注
關注
10文章
367瀏覽量
43569 -
字符串
+關注
關注
1文章
596瀏覽量
23222 -
sizeof
+關注
關注
0文章
9瀏覽量
6624
發(fā)布評論請先 登錄
相關推薦
熱點推薦
Boost、Buck-Boost、Sepic拓撲有什么區(qū)別
工程師們在做電源設計時經常會有升壓的需求,而常用的Boost、Buck-Boost、Sepic拓撲均可實現(xiàn)升壓。這些拓撲有什么區(qū)別,該選哪個呢?
微波雷達和毫米波雷達有什么區(qū)別
微波雷達和毫米波雷達有什么區(qū)別 前言:不知道大家有沒有發(fā)現(xiàn),各種雷達模塊的使用開始逐漸加入各種智能家居產品了,像人來燈亮,人走燈滅這種雷達感應的產品早幾年就開始進入市場了,還有各種感應開關等產品
人工智能工程師高頻面試題匯總:循環(huán)神經網(wǎng)絡篇(題目+答案)
后臺私信雯雯老師,備注:循環(huán)神經網(wǎng)絡,領取更多相關面試題隨著人工智能技術的突飛猛進,AI工程師成為了眾多求職者夢寐以求的職業(yè)。想要拿下這份工作,面試的時候得展示出你不僅技術過硬,還得能解決問題。所以
用30道電子工程師面試題來拷問墮落的你...
今天用30道電子工程師面試題來拷問墮落的你,你能扛住第幾題?1、下面是一些基本的數(shù)字電路知識問題,請簡要回答之。(1)什么是Setup和Hold時間?答:Setup/HoldTime用于測試芯片
CY7C65214和CY7C65211/3/5有什么區(qū)別?
CY7C65214 和其他 USB 串行橋接控制器之間有什么區(qū)別:CY7C65211、CY7C65213 和 CY7
發(fā)表于 05-29 06:49
【硬件方向】名企面試筆試真題:大疆創(chuàng)新校園招聘筆試題
名企面試筆試真題:大疆創(chuàng)新校園招聘筆試題-硬件
是幾年前的題目,不過值得參考一下哦
純分享貼,有需要可以直接下載附件獲取完整資料!
(如果內容有幫助可以關注、點贊、評論支持一下哦~
發(fā)表于 05-16 17:31
【C語言經典面試題】sizeof與strlen有什么區(qū)別?
評論