首頁 >後端開發 >Golang >如何將 Go 切片傳遞給 C 函數,以修改指向字串陣列的指標?

如何將 Go 切片傳遞給 C 函數,以修改指向字串陣列的指標?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-07 15:05:13531瀏覽

How to Pass a Go Slice to a C Function that Modifies a Pointer to a Pointer to an Array of Strings?

將切片指標傳遞給Go 中的C 函數

問題

當呼叫需要指向指向字串數組,如何在Go 中實現這一點,同時還允許C 函數修改字串陣列?

解決方案

由於資料結構和記憶體分配的差異,在 Go 中建立切片並將其直接傳遞給 C 函數是不可能的。相反,需要在 C 中分配數組。

透過在 C 中分配數組,它允許 C 函數修改數組並調整數組大小。 C 中所做的變更將在 C 函數傳回後反映在 Go 切片中。

以上是如何將 Go 切片傳遞給 C 函數,以修改指向字串陣列的指標?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn