我有一个int数组,我需要找到它中的元素数量。我知道它与sizeof有关,但我不知道如何使用它。
如果您的数组有范围,您可以使用sizeof来确定其字节大小,并使用除法来计算元素数量:
#define NUM_OF_ELEMS 10
int arr[NUM_OF_ELEMS];
size_t NumberOfElements = sizeof(arr)/sizeof(arr[0]);
如果您收到数组作为函数参数或在堆中分配数组,则无法使用sizeof确定其大小。您必须以某种方式存储/传递大小信息才能使用它:
void DoSomethingWithArray(int* arr, int NumOfElems)
{
for(int i = 0; i < NumOfElems; ++i) {
arr[i] = /*...*/
}
}
翻译自:https://stackoverflow.com/questions/10290610/how-can-i-find-the-number-of-elements-in-an-array
转载注明原文:我如何找到数组中的元素数量?