首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将指针传递给函数的C++ (Howto) + C++指针操作

将指针传递给函数的C++ (Howto) + C++指针操作
EN

Stack Overflow用户
提问于 2010-09-26 08:59:18
回答 7查看 157.3K关注 0票数 28

对于传递指针是如何工作的,我有点困惑。

假设我有以下函数和指针,并且...

编辑

...I希望在函数中使用指向某个对象的指针作为参数。

即:

代码语言:javascript
运行
复制
void Fun(int Pointer){
    int Fun_Ptr = ---Passed Pointer---; 
    //So that Fun_Ptr points to whatever ---Passed Pointer points to

在*Pointer和&Pointer符号之间,我很困惑。我知道*Pointer的意思是给它所指向的任何东西。

我是否要在声明中放入void (int *指针)?当我使用这个函数的时候呢?

非常感谢您的帮助。

EDIT 2:

好了,我现在明白了,在声明中使用*变量意味着将传递一个指针。但是,当我使用这个函数的时候呢?

代码语言:javascript
运行
复制
int main(){
    int foo;
    int *bar;
    bar = foo;
    Fun(bar);
}

EDIT 3:好的,如果我错了,请纠正我:

根据上述代码的约定:

bar = &foo表示:使bar指向内存中的foo

*bar = foo表示将bar指向的值更改为等于foo等于的值

如果我有第二个指针(int *oof),那么:

bar = oof表示: bar指向oof指针

bar = *oof表示: bar指向oof所指向的值,而不是oof指针本身

*bar = *oof表示:将bar指向的值更改为oof指向的值

&bar = &oof表示:将bar指向的内存地址更改为与oof指向的内存地址相同

我说的对吗?

编辑4:非常感谢你的帮助(我希望我能接受不止一个答案,但我不得不接受第一个答案。我不确定一个社区wiki到底是如何工作的,但我会把它留下来进行编辑(如果你喜欢,可以把它变成一个参考指南)。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3796181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档