首先,strlen是函數,sizeof是運算操作符,二者得到的結果類型為size_t,即unsignedint類型。大部分編譯程序在編譯的時候就把sizeof計算過了,而strlen的結果要在運行的時候才能計算出來。
char*str1="asdfgh";
charstr2[]="asdfgh";
charstr3[8]={'a','s','d'};
charstr4[]="as\0df";
sizeof(str1)=4;strlen(str1)=6;
sizeof(str2)=7;strlen(str2)=6;
sizeof(str3)=8;strlen(str3)=3;
sizeof(str4)=6;strlen(str4)=2;
str1是字符指針變量,sizeof獲得的是該指針所占的地址空間,32位操作系統對應4字節,所以結果是4;strlen返回的是該字符串的長度,遇到\0結束,\0本身不計算在內,故結果是6。
str2是字符數組,大小由字符串常量"asdfgh"確定,sizeof獲得該數組所占內存空間大小,包括字符串結尾的\0,所以結果為7;strlen同理返回6。
str3也是字符數組,但大小確定為8,故sizeof得到的結果是8;strlen統計\0之前所有字符的個數,即為3;
str4是常量字符數組,sizeof得到字符總數即6;strlen計算至\0結束,因此返回2;
總結一句就是sizeof計算的是變量的大小,而strlen計算的是字符串的長度,前者不受字符\0影響,后者以\0作為長度判定依據。
關于如何利用strlen以及sizeof進行字符串長度的運算就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
(資料圖)在生活中,很多人都不知道DNF選擇頻道卡死是什么意思,其實他的意思是非常簡單的,下面就是小編搜索到的DNF選擇頻道卡死相關的一些知識,我們一起來學習下吧!1、找到游戲平臺里這款游戲的專區,找到游戲修復,如果檢測到游戲異常情況,點擊“一鍵修復”。2、打開命令符然后輸入密碼,進行重置DNS緩存,彈出一個頁面后,進入下一步。3、重新嘗試進入游戲,如果未能奏效,則在彈出游戲“載入中”界面前關閉游...
徐新,Kathy Xu,被稱為中國“風投女王”,“中國女巴菲特”。2005年,她創立的今日資本,目前管理著25億美元的基金,投資過京東、美團、唯品會、攜程、叮咚買菜、興盛優選、蔚來等知名企業。徐新1988年南京大學外語系畢業,就職于中國銀行總行的營業部,不到一年當選三八紅旗手,不久被提升為副科長??忌嫌詴嫀熤?,進普華會計師事務所工作。三年后...
洪都拉斯大藍洞洪都拉斯藍色大洞穴世界上最危險的國家:暴力是貧困導致的并發癥。洪都拉斯是中美洲的一個多山國家,位于太平洋和加勒比海之間,與危地馬拉、薩爾瓦多和尼加拉瓜接壤。國土面積約11.2萬平方公里,人口約960萬。這里曾經是印第安人的住所,大航海時代的到來改變了這一切。1502年,哥倫布在此登陸,但由于風高浪急,船隊幾乎傾覆,于是哥倫布將其命名為“洪都拉斯”(意為“深淵”),這成為了一個預言。1...