1. 程式人生 > >c語言中求陣列長度的

c語言中求陣列長度的

例如:

<span style="font-size:24px;">#include <stdio.h>
#include <string.h>
#define n 20
int main(){
        char arr[n];
        int num = strlen(arr);//該陣列型別必須是char才能用strlen()
        int num2 = sizeof(arr);
        printf("strlen(arr)=%d\n",num);//20以內的隨機數,因為該陣列還沒有初始化
        printf("sizeof(arr)=%d\n",num2);//20,sizeof()是求陣列總位元組數,char1位元組,20*1=20
//----------------------------------------------
        char arr2[n] = {'s','r','f','g','j'};
        int num3 = strlen(arr2);
        int num4 = sizeof(arr2);
        printf("strlen(arr2)=%d\n",num3);//5,這時候已經有5個字元了,所以長度為5(元素個數)
        printf("sizeof(arr2)=%d\n",num4);//20
//----------------------------------------------
        int arr3[n] = {'a','d','f','e'};
        int num5 = sizeof(arr3);
        int num6 = sizeof(arr3)/sizeof(arr3[0]);
        printf("sizeof(arr3)=%d\n",num5);//80,int佔4位元組,20*4=80
        printf("sizeof(arr3)/sizeof(arr3[0])=%d\n",num6);//20,80/4(一個元素佔4個位元組)=20
        return 0;
}</span>


      注意:strlen()函式是  string.h庫中的,想要使用讓必須在開始引入此標頭檔案程式碼如下

         #include <string.h>