在 C 中使用数组时,可能有必要确定它们的大小。但是,当将数组作为函数参数传递时,它会衰减为指针,不会留下明确的大小信息。
从指针确定数组大小的正确方法是将大小作为附加值传递
int largest(int *list, int highest_index) { // ... }
要使用此函数,请将数组及其大小作为参数传递:
int array[] = {1, 2, 3, 4, 5}; int size = sizeof(array) / sizeof(int); // Calculate array size int max = largest(array, size);
C 继承数组/指针等价来自 C,它允许数组在传递给函数时衰减为指针。这种行为意味着指针不包含大小信息。
理解数组的内存布局至关重要。声明数组时,会分配连续的内存来存储其元素。指向第一个元素的指针暗示了数组的开始,但它不携带有关其大小的信息。
要从 C 中的指针准确确定数组的大小,有必要将大小作为附加参数传递给处理数组的函数。这种方法确保该函数可以访问所需的信息。
以上是如何确定作为函数指针传递的 C 数组的大小?的详细内容。更多信息请关注PHP中文网其他相关文章!