欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C語言中關(guān)于sizeof 和 strlen的區(qū)別分析

 更新時間:2015年02月28日 09:53:52   投稿:hebedich  
本文通過示例簡單分析了4種情況下C語言中sizeof 和 strlen的區(qū)別,算是個人經(jīng)驗的一個小小的總結(jié),如有遺漏還請大家告知。

1、編譯時計算運(yùn)算符sizeof,可用類型或變量做參數(shù),計算占用內(nèi)存的大小。sizeof后若是類型必須加括弧,若是變量名可不加括弧。sizeof(x)可用來定義數(shù)組維數(shù)如:

復(fù)制代碼 代碼如下:

printf("%d\n", sizeof(short));

    輸出的結(jié)果為短整型的長度2。用結(jié)構(gòu)類型或變量做參數(shù)時,sizeof 返回實際的大小,當(dāng)用于靜態(tài)數(shù)組時,sizeof 返回全部數(shù)組的尺寸。sizeof 操作符不能返回動態(tài)地被分派了的數(shù)組或外部的數(shù)組的尺寸

2、運(yùn)行時計算strlen,只能用char*做參數(shù),且必須是以''\0''結(jié)尾的。計算的是字符串的長度。如:

復(fù)制代碼 代碼如下:

char str[20]="0123456789";
int a=strlen(str); // 結(jié)果為a=10
int b=sizeof(str); // 結(jié)果b=20;

3、處理靜態(tài)數(shù)組:

復(fù)制代碼 代碼如下:

char str[20]="0123456789";
int a=strlen(str); // a=10; strlen 計算字符串的長度,以\0'為字符串結(jié)束標(biāo)記。
int b=sizeof(str); // b=20; sizeof 計算的則是分配的數(shù)組str[20] 所占的內(nèi)存空間的大小,不受里面存儲的內(nèi)容影響。

4、處理指針:

復(fù)制代碼 代碼如下:

char* ss = "0123456789";
sizeof(ss) // 結(jié)果4,

ss是指向字符串常量的字符指針,sizeof 獲得的是一個指針?biāo)嫉目臻g。sizeof(*ss) 結(jié)果1,*ss是第一個字符 其實就是獲得了字符串的第一位'0' 所占的內(nèi)存空間,是char類型的,占用1字節(jié)。strlen(ss)= 10,若要獲得這個字符串的長度,則一定要使用 strlen

以上所述就是關(guān)于sizeof 和 strlen區(qū)別的全部內(nèi)容了,希望大家能夠喜歡

相關(guān)文章

  • C++實現(xiàn)簡單的信息管理系統(tǒng)

    C++實現(xiàn)簡單的信息管理系統(tǒng)

    這篇文章主要為大家介紹了C++實現(xiàn)簡單的信息管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-04-04
  • C語言中單鏈表(不帶頭結(jié)點(diǎn))基本操作的實現(xiàn)詳解

    C語言中單鏈表(不帶頭結(jié)點(diǎn))基本操作的實現(xiàn)詳解

    鏈表是一種物理存儲結(jié)構(gòu)上非連續(xù)、非順序的存儲結(jié)構(gòu),數(shù)據(jù)元素的邏輯順序是通過鏈表中的指針鏈接次序?qū)崿F(xiàn)的。本文主要和大家聊聊C語言中單鏈表(不帶頭結(jié)點(diǎn))的基本操作,感興趣的小伙伴可以了解一下
    2022-11-11
  • C++ sort排序函數(shù)用法詳解

    C++ sort排序函數(shù)用法詳解

    本文主要介紹了C++ sort排序函數(shù)用法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 使用C語言實現(xiàn)本地socke通訊的方法

    使用C語言實現(xiàn)本地socke通訊的方法

    這篇文章主要介紹了?使用C語言實現(xiàn)本地socke通訊,代碼分為服務(wù)器代碼和客戶端代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-12-12
  • C++實現(xiàn)讀寫文件的示例代碼

    C++實現(xiàn)讀寫文件的示例代碼

    這篇文章主要介紹了C++實現(xiàn)讀寫文件的示例代碼,幫助大家更好的理解和學(xué)習(xí)c++,感興趣的朋友可以了解下
    2020-08-08
  • C語言 位域詳解及示例代碼

    C語言 位域詳解及示例代碼

    本文主要介紹C語言 位域的知識,這里整理了相關(guān)資料,并附示例代碼及詳解,有興趣的小伙伴可以參考下
    2016-08-08
  • C++11 移動構(gòu)造函數(shù)的使用

    C++11 移動構(gòu)造函數(shù)的使用

    本文主要介紹了C++11 移動構(gòu)造函數(shù)的使用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C++ Clock類模擬實現(xiàn)鬧鐘運(yùn)行

    C++ Clock類模擬實現(xiàn)鬧鐘運(yùn)行

    這篇文章主要為大家詳細(xì)介紹了C++ Clock類模擬實現(xiàn)鬧鐘運(yùn)行,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vscode遠(yuǎn)程連接服務(wù)器(免密登錄+遠(yuǎn)程開發(fā))

    vscode遠(yuǎn)程連接服務(wù)器(免密登錄+遠(yuǎn)程開發(fā))

    vscode的遠(yuǎn)程連接功能十分方便,本文就來介紹一下vscode遠(yuǎn)程連接服務(wù)器,主要包括免密登錄和遠(yuǎn)程開發(fā),感興趣的可以了解一下
    2024-07-07
  • C語言歸排與計排深度理解

    C語言歸排與計排深度理解

    這篇文章主要為大家詳細(xì)的介紹了C語言中計數(shù)排序和歸并排序,歸并排序是創(chuàng)建在歸并操作上的一種有效的排序算法,計數(shù)排序不用比較兩個數(shù)的大小,感興趣的朋友可以參考閱讀
    2023-04-04

最新評論