C语言中没有用于获取数组元素数量的elementsof
关键字。
因此,通常会使用sizeof(Array)/sizeof(Array[0])
来计算,但需要重复输入数组变量名。
1[&Array]
是指向数组之后第一个元素的指针,因此可以这样使用:
int myArray[12] = {1,2,3};
int *pElement;
for (pElement = myArray; pElement < 1[&myArray]; pElement++)
{
...
}
替换:
for (pElement = myArray; pElement < &myArray[sizeof(myArray)/sizeof(myArray[0])]; pElement++)
{
...
}
您认为这是否过于混淆不清?
该句子涉及IT技术领域,但未提供足够的上下文。
#define CountElements(Array) sizeof(Array)/sizeof(Array[0])
。然后,您可以简单地使用int nbofelements = CountElements(myArray);
。 - Jabberwockychar
,注意到你再也看不到这个错误了。 - Hans Passant