这是我的想法: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/