笔试题之一:函数的指针类型参数的引用问题

 

void func(int *ptr, int &value)
{
     ptr = &value; 
}
int main()
{
     int i = 10, j = 5;
     int *ptr = &i;
     func( ptr, j);
     printf("%d", *ptr);
     return 0;
}

请问,此时输出来的*ptr的值是多少?5还是10?

答案是10。

这里主要涉及到函数参数问题,同int类型一样,指针也存在引用的问题。

如果上面的函数声明改为:

void func (int* &ptr, int &value);

则答案就是5了。

转载于:https://www.cnblogs.com/AnnieKim/archive/2011/05/16/2047342.html

你可能感兴趣的:(笔试题之一:函数的指针类型参数的引用问题)