衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

strlen和sizeof的異同

撞上電子 ? 2023-12-13 08:00 ? 次閱讀


1,strlen函數

作用: 用于計算以空字符'\0'結尾的字符串的長度,即字符串中的字符個數,不包括空字符本身。

返回值:strlen返回一個size_t類型的值,表示字符串中字符的數量。

注意事項:

  • strlen 需要在運行時遍歷字符串,直到遇到空字符才停止計數。
  • 如果字符串沒有以'\0' 結尾,strlen可能導致未定義的行為。

#include #include
int main() {char str[] = "Hello, World!";size_t length = strlen(str);
printf("Length of the string: %zu\n", length);
return 0;}

2,sizeof運算符

作用:用于獲取變量、數據類型或數組在內存中占用的字節數。
返回值:sizeof返回一個size_t類型的值,表示操作數占用的字節數。
注意事項:

  • sizeof是在編譯時確定的,不需要運行時遍歷數據結構。
  • 對數組使用sizeof可以獲取整個數組的大小,但對指針使用sizeof只能獲取指針本身的大小。

#include
int main() {char str[] = "Hello, World!";size_t size = sizeof(str);
printf("Size of the array: %zu bytes\n", size);
return 0;}

3,異同點

計算方式:strlen遍歷字符串直到遇到空字符。sizeof在編譯時計算大小。
適用對象:strlen適用于以空字符結尾的字符串。sizeof適用于變量、數據類型或數組。返回值:strlen返回字符的數量。sizeof返回字節數。字符串長度:strlen計算字符串長度時不包括空字符。sizeof計算字符串長度時包括空字符。綜上所述,strlen和sizeof在功能和用法上有較大差異,前者主要用于處理字符串的長度,后者用于獲取數據結構在內存中的大小。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 字符串
    +關注

    關注

    1

    文章

    585

    瀏覽量

    20604
  • 函數
    +關注

    關注

    3

    文章

    4346

    瀏覽量

    62978
  • 運算符
    +關注

    關注

    0

    文章

    172

    瀏覽量

    11107
收藏 人收藏

    評論

    相關推薦

    【C語言進階】數組名和指針使用sizeof有什么不同?

    本文介紹一個比較常見的錯誤,是跟sizeof有關的,不知你是否有掌握呢?
    的頭像 發表于 10-03 17:53 ?2737次閱讀
    【C語言進階】數組名和指針使用<b class='flag-5'>sizeof</b>有什么不同?

    C語言sizeofstrlen的區別

    大家好,我是嵌入式老林,從事嵌入式軟件開發多年,今天分享的內容是C語言sizeofstrlen的區別,希望能對你有所幫助
    發表于 07-11 11:51 ?1495次閱讀

    【武漢華嵌】結構體的sizeof問題

    ; //sizeof 對象; 注意:sizeof是一個運算符,在C語言中是一個關鍵字,并不是函數,要和strlen區分開來。sizeof是求取所占的存儲空間的所有字節數。
    發表于 03-22 16:26

    strlensizeof區別

    1.strlen(char*)函數求的是字符串的實際長度,它求得方法是從開始到遇到第一個'\0',如果你只定義沒有給它賦初值,這個結果是不定的,它會從aa首地址一直找下去,直到遇到'\0'停止。char aa[10];cout
    發表于 02-10 10:44

    GD32與STM32異同

    一、 GD32 與 STM32 異同1.相同點1)外圍引腳定義:相同型號的管腳定義相同2) Cortex M3 內核:STM32F103 內核 R1...
    發表于 08-04 09:34

    sizeofstrlen函數的區別在哪

    野指針是指指針指向的位置是不可知的,主要成因是什么?sizeofstrlen函數的區別在哪?鏈表和數組的區別在哪?
    發表于 12-24 07:19

    flash和EEPROM的異同是什么?

    FLASH有哪些類型?flash和EEPROM的異同是什么?
    發表于 01-20 06:15

    Android和Linux系統的異同點是什么?

    Android和Linux系統的異同點是什么?
    發表于 03-02 07:17

    字符串函數strlen的深入研究

    本系列是為了剖析crt庫中intel模塊下的那些函數的,那么我們去找找那里面有沒有strlen的實現,呀!居然找到了,它就位于VC/crt/src/intel/strlen.asm里。打開看看,咦
    的頭像 發表于 03-26 16:01 ?7177次閱讀
    字符串函數<b class='flag-5'>strlen</b>的深入研究

    sizeofstrlen到底有什么區別經典C語言面試題講解

    基本定義1、sizeof是C/C++中的一個運算符,其作用是返回一個對象或者類型在內存中所占用的字節數。 注意:sizeof后面如果是類型則必須加括號,如 sizeof(char);而如果是變量名
    的頭像 發表于 02-03 08:24 ?7281次閱讀

    輪廓儀與粗糙度儀的異同

    有些朋友搞不清楚輪廓儀和粗糙度儀的異同,今天就給大家科普一下二者的異同
    發表于 12-02 14:50 ?2459次閱讀

    C語言的sizeof操作符基礎和經典問題

    在C語言中,sizeof是一個操作符(operator),而不是函數!其用于判斷數據類型或者表達式長度(所占的內存字節數)。其有兩種表達形式:
    的頭像 發表于 04-04 17:39 ?2745次閱讀
    C語言的<b class='flag-5'>sizeof</b>操作符基礎和經典問題

    C語言模擬實現strlen的步驟

    strlen所作的僅僅是一個計數器的工作,它從內存的某個位置(可以是字符串開頭,中間某個位置,甚至是某個不確定的內存區域)開始掃描,直到碰到第一個字符串結束符’\0’為止,然后返回計數器值(長度不包含’\0’)。
    的頭像 發表于 06-29 15:48 ?1498次閱讀
    C語言模擬實現<b class='flag-5'>strlen</b>的步驟

    電感和磁珠的異同及應用綜述

    電感和磁珠的異同及應用綜述
    發表于 06-24 10:28 ?30次下載

    C語言中strlensizeof的區別

    sizeofstrlen 放在一起考察,題目不難,只要你的C語言基本功扎實,做出來應該沒問題。
    的頭像 發表于 04-23 09:45 ?578次閱讀
    百家乐论坛| 哪个百家乐最好| 澳门赌百家乐官网心法| 娱乐城百家乐官网论坛| 百家乐官网是骗人的| 百家乐官网制胜方法| 百家乐官网高手长胜攻略| 澳门百家乐官网大家乐眼| 百家乐官网赌博赌博网站| 百家乐官网计算法| 在线百家乐官网作弊| 百家乐开放词典新浪| 百家乐官网视频百家乐官网| 奔驰百家乐官网可信吗| 立博百家乐官网游戏| 太阳城百家乐官网主页| 百家乐官网路单走势图| 中骏百家乐官网的玩法技巧和规则| 属龙属虎合伙做生意吗| 网上百家乐做假| fl水果机教程| 高雄县| 金百亿百家乐官网娱乐城| 百家乐官网辅助器| 开心8百家乐现金网| 足球百家乐系统| 蒙特卡罗网| 百家乐官网三跳| 24山六十日吉凶| 自贡百家乐赌场| 一起pk棋牌游戏| 永利高百家乐官网现金网| 新彩百家乐官网的玩法技巧和规则| 百家乐分析概率原件| 威尼斯人娱乐城筹码| 茶陵县| 四方百家乐官网的玩法技巧和规则| 百家乐偷吗| 德州扑克的技巧| OK娱乐城| 百家乐官网永利赌场娱乐网规则|