以前從沒注意過C語言如何獲取數組長度,今天遍寫算法時遇到了獲取待排序數組長度的問題,特意查了一下:
#include <stdio.h>
#define GET_ARRAY_LEN(array,len) {len = (sizeof(array) / sizeof(array[0]));} //必須使用宏定義,如果在程序中直接使用,len的值為1
int main() {
int a[] = {1,2,3,4,5,6,7,8};
int len;
GET_ARRAY_LEN(a,len);
printf("%d",len);
}