关于传递指针的工作原理,我有点困惑.
假设我有以下函数和指针,并且......
编辑:
...我想在函数中使用指向某个对象的指针作为参数.
即:
void Fun(int Pointer){
int Fun_Ptr = ---Passed Pointer---;
//So that Fun_Ptr points to whatever ---Passed Pointer points to
Run Code Online (Sandbox Code Playgroud)
在*Pointer和&Pointer符号之间,我很困惑.我知道*指针意味着给它指出的任何东西.
我是否在声明中放入了void(int*pointer).我什么时候使用这个功能?
非常感谢您的协助.
编辑2:
好的,我现在明白在声明中使用*变量意味着将传递指针.但是,当我使用该功能时呢?
即
int main(){
int foo;
int *bar;
bar = foo;
Fun(bar);
}
Run Code Online (Sandbox Code Playgroud)
编辑3: 好的,如果我错了,请纠正我:
根据上述代码的惯例:
bar =&foo表示:使条形指向内存中的foo
*bar = foo表示将条指向的值更改为等于foo等于的值
如果我有第二个指针(int*oof),那么:
bar = oof表示:bar指向oof指针
bar =*oof表示:bar指向oof指向的值,但不指向oof指针本身
*bar =*oof表示:将条指向的值更改为oof指向的值
&bar =&oof表示:更改条指向的内存地址与oof指向的内存地址相同
我有这个权利吗?
编辑4:非常感谢你的帮助(我希望我能接受超过1个答案,但我必须选择第一个答案.我不确定社区维基是如何工作的,但我会这样离开编辑(如果您愿意,可随意将其转换为参考指南).