这是我的想法: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;
}
Run Code Online (Sandbox Code Playgroud)
输出为5是正确的.
我想知道是否有更有效的方法来计算它?比方说,一个C函数.
您的代码是计算数组中元素数量的正确和推荐方法.只是为了健壮,你可以写它
( sizeof(b) / sizeof(b[0]) ); // independent of the data type of array
Run Code Online (Sandbox Code Playgroud)
然而,FWIW,请注意,这是不行的情况下指针类型变量表示的数组.