关于c语言中有关函数形参int test(int * &b)的理解
今天上网课的时候看到有个类似这样的函数,当时头脑都蒙了,我没见过这样的东西,然后就在网上搜,但是看的稀里糊涂,一直想到晚上十点多,我感觉有点灵感了。以下是结论
当我们使用int * b这样做形参,b这个指针变量会在被调函数中创建存储空间,而且当这个函数被调用时,实参会将它里面保存的地址复制给形参,那么b与实参都会同时指向同一个变量。但是如果使用int * &b这种写法,b并不会别创建,b代表的是实参本身,那么如果在被调函数里面b改变了自己的指向,实参也会改变指向。我认为区别就是这样。一个是一个新的指针,一个是自己。
早上测试,发现这玩意不属于c语言,属于c++,如果用c,这个程序就报错。