在 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中文網其他相關文章!