1,使用 sizeof 運算符
#include
int main() { int array[] = {1, 2, 3, 4, 5}; unsignedchar length=sizeof(array)/sizeof(array[0]);
printf("Array length: %d\n", length);
return 0;}
解析:sizeof(array) 返回整個數組的字節大小,sizeof(array[0]) 返回數組中一個元素的字節大小。通過相除可以得到數組的元素個數。
2,使用宏定義
#include
#define ARRAY_LENGTH(arr) (sizeof(arr) / sizeof(arr[0]))
int main() { int array[] = {1, 2, 3, 4, 5}; unsigned char length = ARRAY_LENGTH(array);
printf("Array length: %d\n", length);
return 0;}
解析:這里使用了宏定義,將獲取數組長度的操作封裝在 ARRAY_LENGTH 中,使得代碼更具可讀性。
3,傳遞數組和數組長度給函數
#include
unsigned char getArrayLength(int *arr, size_t size) { return size;}
int main() { int array[] = {1, 2, 3, 4, 5}; unsigned char length = getArrayLength(array, sizeof(array) / sizeof(array[0]));
printf("Arraylength:%d\n",length); return 0;}
解析:函數 getArrayLength 接受一個指向整數的指針和數組的大小,然后直接返回數組的大小。
4,使用 strlen(適用于字符串數組)
#inlude#include
int main() { char strArray[] = "Hello, World!"; unsigned char length = strlen(strArray);
printf("StringArraylength:%d\n",length);
return 0;}
解析:strlen 函數用于計算字符串的長度,適用于以 null 結尾的字符串數組。
5,使用指針
#include
int main() { int array[] = {1, 2, 3, 4, 5}; int *ptr = array; unsigned char length = sizeof(array) / sizeof(*ptr);
printf("Array length: %d\n", length);
return 0;}
解析:將數組的首地址賦給指針,然后通過指針進行操作。這里同樣使用了 sizeof 方法。==========
-
C語言
+關注
關注
180文章
7604瀏覽量
136824 -
數組
+關注
關注
1文章
417瀏覽量
25947 -
運算符
+關注
關注
0文章
172瀏覽量
11084
發布評論請先 登錄
相關推薦
評論