c語言strlen函數, 函數原型,函數頭文件


1、函數原型(利用指針求字符串的長度)

#include <stdio.h>

size_t strlen(const char *s)  //函數頭的形參為常數的、指向char型的指針,也就是接收的形參為指針(實際上傳入的是字符串數組,函數間數組的傳遞實際上是通過指向第一個元素的指針完成的) 
{
                        // 函數的返回值設置的位size_t類型,size_t類型是通過在<stddef.h>頭文件中使用 typedef聲明指定的,typedef是別名聲明,typedef unsigned size_t, 也就是將size_t
    size_t len = 0;    //聲明為unsigned的別名
    while(*s++)    // 指針從數組的第一個元素一次遞增,直到指針指向null字符,while循環判斷語句為0,循環終止,循環體len++執行了數組s(字符串)元素個數次,因此len為數組長度。  
        len++;
    return len;
}

int main(void)
{
    char str[128];
    printf("str: "); scanf("%s", str);
    
    printf("length of str: %d\n", strlen(str)); //調用函數時,給與的實參是字符串數組名,相當於指向數組第一個元素的指針(函數間數組的傳遞是通過指向數組第一個元素的指針進行的)。 
    return 0;
}

 

 

2、聲明 <string.h>頭文件,可以直接調用strlen函數,<string.h>頭文件中包含strlen函數的函數原型聲明。

#include <stdio.h>
#include <string.h>  //加載包含strlen函數原型聲明的頭文件,可以直接調用strlen 

int main(void)
{
    char str[128];
    printf("str:  ");scanf("%s", str);
    
    printf("length of str: %d\n", strlen(str));
    return 0;    
} 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM