我试图弄清楚指针在函数中是如何工作的.
我知道指针可以用作函数参数,如下所示
int *max(int* a, int* b){
if (*a > *b)
return a;
else
return b;
}
int *p, i, j;
p = max(&i, &j);
我对此的理解是,我有一个函数,它返回一个int指针,它的参数是2个int指针.当该函数被调用时,它被提供给两个int类型的地址,i和j,参数中的指针被分别赋值给它们.最后,返回大整型.这样对吗?在我看来,这是有道理的.
我对将指针传递给函数时所发生的事情感到困惑.
所以,像这样的东西
int *p, i, j;
int *k = &i
p = max(k, &j);
在这种情况下,是不是制作了指针的副本?此外,这将如何与对象一起工作?是复制指针指向的整个对象,还是只复制指针?