strlen的幾種不同實(shí)現方法
int strlen(const char *str)
{
assert(str != NULL);
int len = 0;
while((*str++) != ‘\0′)
len++;
return len;
}
第二種方法:
int strlen(const char *str)
{
assert(str);
const char *p = str;
while(*p++); /*use addresses to count the length of str*/
return p – str – 1;
}
第三種方法:
int strlen(const char* str)
{
if (str[0] == ‘\0′)
return 0;
else
return strlen((char *)(&str[0]+1))+1; /*iteration*/
}
ANSI C標準中的說(shuō)法摘錄如下: (1)當一個(gè)數組標識符出現在表達式中,這個(gè)標識符的類(lèi)型就從“某種類(lèi)型T的數組”轉換成“指向類(lèi)型T的指針”,而且它的值就等于數組第一個(gè)元素的`地址。但是當數組標識符被用作sizeof和取址(&)操作的操作數時(shí),sizeof返回的是整個(gè)數組的大小,而取址操作返回的是指向數組的指針(而不是指向一個(gè)值為數組頭元素地址的指針的指針)。(2)下列表達式不能產(chǎn)生lvalue: 數組名,函數,枚舉常量,賦值表達式,強制類(lèi)型轉換,函數調用。
【strlen的幾種不同實(shí)現方法】相關(guān)文章:
sun認證考試經(jīng)驗:多線(xiàn)程的幾種實(shí)現方法詳解11-08
CAD圖上自動(dòng)實(shí)現不同的標注比例方法08-10
常用的幾種傳球方法09-07
幾種啞鈴的練習方法06-30
不同口腔異味的不同去除方法11-01
考研數學(xué)階段不同復習的方法不同01-22
幾種經(jīng)典奶茶的調制方法10-06