这是我的想法:sizeof() 是一个计算变量有多大的运算符。 sizeof(variable type) 可以计算某个类型有多大。数组中元素的数量由 sizeof(<array name>) / sizeof(variable type) 给出。

这是我的代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(void)
{
    double b[] = {1 , 2 , 3 , 4 , 5};
    printf("How many elements the array contains : %d\n" , sizeof(b) / sizeof(double));
    system("pause");
    return 0;
}

输出是 5,这是正确的。

我想知道是否有一些更有效的方法来计算?比如说,一个 C 函数。

最佳答案

您的代码是计算数组中元素数量的正确且推荐的方法。只是为了健壮性,你可以这样写

 ( sizeof(b) / sizeof(b[0]) );   // independent of the data type of array

但是,FWIW,请注意,这在表示数组的指针类型变量的情况下不起作用。

关于c - 有没有更好的方法来计算一维数组包含多少个元素?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30044549/

10-16 04:38