IrAts 发表于 2018-10-18 23:34:00

关于传递指针参数

void InitQueue(LinkQueue *&Q)和 void InitQueue(LinkQueue &Q) 是什么意思?有点乱..

claws0n 发表于 2018-10-18 23:37:29

c++ 才有的写法,那就要看 LinkQueue 是什么咯。如果没有错,是这样的
typedef struct xxx{....} LinkQueue; //不是指针的形态
但不管怎样
void InitQueue(LinkQueue *&Q)要求传参是 LinkQueue * 型的
void InitQueue(LinkQueue &Q) 要求传参是 LinkQueue 型的

claws0n 发表于 2018-10-18 23:41:51

然后是传引用,所以函数会对传参修改内容

swap(int *x, int *y); swap(&a,&b);// 这是 C 语言
swap(int &x, int &y); swap(a,b);    // C++ 多了引用型,可以这样写,与调用,方便很多,,不需要一直解引用

IrAts 发表于 2018-10-18 23:44:43

claws0n 发表于 2018-10-18 23:37
c++ 才有的写法,那就要看 LinkQueue 是什么咯。如果没有错,是这样的
typedef struct xxx{....} LinkQueu ...

嗯..那在 InitQueue的修改是不是会返回给传入的那个参数

IrAts 发表于 2018-10-18 23:45:52

claws0n 发表于 2018-10-18 23:41
然后是传引用,所以函数会对传参修改内容

swap(int *x, int *y); swap(&a,&b);// 这是 C 语言


哦 懂了懂了谢谢啦

claws0n 发表于 2018-10-19 13:08:57

IrAts 发表于 2018-10-18 23:44
嗯..那在 InitQueue的修改是不是会返回给传入的那个参数

不应该用返回的角度,是直接修改~
页: [1]
查看完整版本: 关于传递指针参数