解释代码void test(int *&p) { int a = 1; p = &a; cout<<p<<" "<<*p<<endl; } int main(void) { int *p = NULL; test(p); if(p != NULL) cout<<"指针p不为NULL"<<endl; system("pause"); return 0; }
时间: 2023-06-25 08:07:44 浏览: 180
cpp代码-Test1
这段代码中,定义了一个函数`test`,它的参数是一个指向指针的引用`int *&p`。在函数中,通过将变量`a`的地址赋值给指针`p`,改变了指针`p`的指向,并输出了指针`p`所指向的地址和值。
在`main`函数中,首先将指针`p`初始化为`NULL`,然后调用`test`函数,并将指针`p`作为参数传递给`test`函数。由于`test`函数中改变了指针`p`的指向,因此在`test`函数执行完毕后,指针`p`不再为`NULL`。最后,通过判断指针`p`是否为`NULL`来判断`test`函数是否成功地改变了指针`p`的指向。
阅读全文