我有一个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] = /*...*/
}
}
关于c - 如何找到数组中元素的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10290610/