1.strlen
標頭檔案:#include
strlen()函式用來計算字串的長度,其原型為:unsigned int strlen (char *s); s為指定的字串
#include#includeint main()
執行結果:
strlen(str1)=38, sizeof(str1)=4
strlen(str1)=45, sizeof(str1)=100
strlen(str1)=53, sizeof(str1)=5
如果字元的個數等於字元陣列的大小,那麼strlen()的返回值就無法確定了,例如
char str[6] = "abcxyz";
strlen(str)的返回值將是不確定的。因為str的結尾不是0,strlen()會繼續向後檢索,直到遇到'\0',而這些區域的內容是不確定的。
sizeof和strlen有以下區別:
sizeof是乙個操作符,strlen是庫函式。 sizeof的引數可以是資料的型別,也可以是變數,而strlen只能以結尾為『\0『的字串作引數。 編譯器在編譯時就計算出了sizeof的結果。而strlen函式必須在執行時才能計算出來。並且sizeof計算的是資料型別佔記憶體的大小,而strlen計算的是字串實際的長度。 陣列做sizeof的引數不退化,傳遞給strlen就退化為指標了。注意:有些是操作符看起來像是函式,而有些函式名看起來又像操作符,這類容易混淆的名稱一定要加以區分,否則遇到陣列名這類特殊資料型別作引數時就很容易出錯。最容易混淆為函式的操作符就是sizeof。說明:指標是一種普通的變數,從訪問上沒有什麼不同於其他變數的特性。其儲存的數值是個整型資料,和整型變數不同的是,這個整型資料指向的是一段記憶體位址。
母函式詳解(轉 侵刪)
母函式與排列組合 在談論母函式問題之前,我們先看乙個簡單的問題描述 假如有兩組資料 a,b 和 c,d 每組中選出乙個構成乙個組合,總共有幾種選法?很顯然總共有4種選法 ac,ad,bc,bd。而且很容易聯想到這個式子 a b c d a c a d b c b d。式子中的幾個乘積項就是上面的4種...
c語言庫函式
1 asll可現實字元 include library.h u8 lib int2string u32 number,u8 char s char s i 0 for j 0 j i 2 j return i description 初始化記憶體函式,以位元組為單位 param in pdst 目標...
C語言庫函式
定義 庫函式 顧名思義是把函式放到庫里,是別人 或組織 把一些常用到的函式編完放到乙個檔案裡,供程式設計人使用,程式設計人用的時候把它所在的檔名用 include 加到裡面就可以了 尖括號內填寫檔名 例如 include。簡介 c語言是一種非常優秀的程式設計的入門語言。它比其他大部分語言都簡潔易學,...