strlen函式詳解

2021-08-31 01:41:15 字數 899 閱讀 2575

在c語言中,strlen函式,引用標頭檔案,作用是計算字串長度。

定義  :      size_t   strlen ( const  char * str );    

這裡有兩處說明:

1.返回型別size_t

size

_t 可以看作 unsigned long ,是無符號長整形。

2.引數用 const 修飾

const 修飾的資料型別是指常型別,常型別的變數或物件的值是不能被更新的。然而 const 的位置不同,被限制的物件                 也不相同,這裡寫三個**比較一下:

(1)const  char * p = str;

(2)char  const * p = str;

(3)char * const p = str;

這裡面(1)(2)都是 const 在 * 的左邊,這兩個**是等價的,限制 p 指向的元素,即 *p 不能修改。

而(3)是 const 在 * 右邊,限制的是指標指向,即 p 不能修改。

通過上面的三個**,我們可以這樣理解,const 在 *p 的左邊,限制的是*p,只在 p 的左邊,限制的是p。

那麼來看看例項**:

#define _crt_secure_no_warnings 1

#include#include#includeint main()

說明:列印時用的%lu,這是對應的無符號長整形的列印,與上面所說的size_t 是無符號長整形相呼應。

字串最後會有乙個 '\0' ,在這個函式中只計算 '\0' 之前的元素個數。所以結果應該是5,看看結果:

strlen函式詳解及模擬實現

strlen函式原型 unsigned int strlen const chaar s strlen標頭檔案 include strlen函式的功能是計算計算字串中字元的個數 不包括 0 strlen char 函式求的是字串的實際長度,它求得方法是從開始到遇到第乙個 0 如果你只定義沒有給它賦初...

strlen函式實現

函式功能 統計字串中的字元個數。很簡單,直接設乙個變數,並遍歷即可。int strlen const char str 但如果不讓使用中間變數呢?函式執行過程中不占用記憶體基本不可能,除非都使用了暫存器。不使用中間變數 只是說程式設計師不能顯示的申請記憶體而已,即不能有區域性變數或者動態記憶體申請。...

strlen函式編寫

0x00 strlen函式原型 extern unsigned int strlen char s 標頭檔案 string.h 格式 strlen 字元陣列名 功能 計算給定 字串的 unsigned int型 長度,不包括 0 在內 說明 返回s的長度,不包括結束符null。0x01 mystrl...