我有一個函數,動態分配內存並保持地址在其本地指針。我想在調用者函數中使用該地址。 是的,我可以使用return.But做到這一點,但有可能使用函數的參數來做到這一點?函數是否可能使用其參數返回指針?
#include<bits/stdc++.h>
using namespace std;
void getAddress(int *ptr){
int *temp=(int*)malloc(sizeof(int));
ptr=temp;
cout<<ptr<<endl;
}
int main(){
int *ptr=NULL;
cout<<ptr<<endl;
getAddress(ptr);
cout<<ptr<<endl;
return 0;
}
output :
0
0x6fa010
0
Expected output :
0
0x6fa010
0x6fa010
有很多不同的方法來做到這一點,哪一個最好取決於應用程序。在這種情況下,返回指針顯然更好。 –
備註:實際上你不太需要使用'malloc',所以儘量不要。 – StoryTeller
@DavidSchwartz - 重複的段落明確指出「**這個問題在這裏已經有了答案:**」。鏈接上的接受答案非常多。 – StoryTeller