笔试题之一:函数的指针类型参数的引用问题
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了。