c語言中求陣列長度的
阿新 • • 發佈:2019-01-22
例如:
<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>