簡體   English   中英

關於指針的問題

[英]Questions about pointers

我有一個將***int作為參數的函數的 API。

void APIfunc(int ***in_variable)

我寫了一個新函數,我必須使用這個APIfunc

我想在我的函數中使用本地int (而不是int*** ),但我想將它傳遞給APIfunc (獲取int**** )。

我該怎么做?

僅依靠語法,

int foo;
int *bar = &foo;
int **bar2 = &bar;
APIfunc(&bar2);

但是,只需閱讀功能文檔。 令人難以置信的是,僅僅修改單個值就需要如此深的指針鏈; 一定是更復雜的東西。

調用函數的方式取決於它是分配內存還是只訪問內存。

案例:它分配內存

既然它似乎沒有關於對象大小、對象類型、對象數量的參數,它是否假設它們? 在這種情況下,您需要這樣調用它:

int** in_variable;
APIfunc(&in_variable);

案例:它只是訪問內存

您必須在某處分配數據。 你需要這樣稱呼它:

int*** in_variable;
// Allocate memory and fill up the data
// ...

// Call the function
APIfunc(in_variable);

希望能為你澄清一些事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM