使用宏定义快速获取数组长度

2023 年 10 月 28 日 / C 语言

C 语言获取数组长度可以使用 sizeof 运算符,但是每次都需要使用一对 sizeof 运算符才能达到需要的效果。

#include <stdio.h>

int main() {
    int array[] = {1, 2, 3, 4, 5};
    int length = sizeof(array) / sizeof(array[0]);
    
    return 0;
}

如此一来每次获取数组长度都需要在代码中写上两个 sizeof 来进行运算,如果使用宏定义可以减少对 sizeof 的引用,只使用单个宏定义即可完成运算。

#include <stdio.h>
#define LENGTH(array) (sizeof(array) / sizeof(array[0]))

int main() {
    int array[] = {1, 2, 3, 4, 5};
    int length = LENGTH(array);
    
    return 0;
}

如此一来能够减少许多因为获取数组长度所使用的代码量。