在C语言里向函数传递的是“&+参数”是什么意思??

2024-12-19 10:45:22
推荐回答(3个)
回答1:

是引用,c++中的概念,int a;int &b=a;这就声明了b是a的引用,经过这样的声明后使用a或b的作用相同,都代表同一变量。对变量声明一个引用,并不另开辟内存单元。函数参数传递有两种情况,有一般的将变量名作为参数,这时传递给形参的是变量的值,在执行函数的时候,形参的值发生的变化并不传递给实参。传递变量的指针,使形参得到一个变量的地址,这时形参指针变量指向实参变量单元。引进引用后,函数参数的第三种传递方式就是传送变量的别名。 代替地址的传递,更加简单

回答2:

C语言里没有"&+参数",只有"&参数"——这里的参数是指变量名或常量。有两种情况:

  1. 当"&参数"前面还有参数(变量或常量)时,&是“按位与"的意思,即将&前后两个数据的二进制位对应进行"与"操作,比如3&4就是011&100=0。

  2. 当"&参数"前面没有参数时&是单目运算符,是取&后面变量的地址的意思,这时&后面的参数必须是能够取地址的目标,否则出错。比如char a,*p=&a,*q="fjks";正确,而若int *p=&3;则错误,因为立即数常量3没有地址。

回答3:

一个类型前面加&就是指取其地址
不过像您这个例子的话,我个人感觉也是*SqList.如果没有特殊情况的话.