函数形参"*"和"&"有什么区别?
现在在学数据结构,不是很理解函数里什么时候应该用&,什么时候用*,什么时候什么都不用;比如说
#define int ElemType
typedef struct{
Elemtype *elem;
int length;
intlistsize;
}SqList;
void InitList (SqList &L)
{
………………
}
这里为何使用&,什么时候应该用*,或者不写东西呢? 声明的时候 int *a
* 说明是指针变量
定义的时候
&取地址
*是取值
此处SqList &L(c++ 中的传引用)
void swap(int &x, int &y); //声明的时候告诉编译器,这里接收的是一个地址。
定义
void swap(int &x, int &y)
{
//使用的时候直接用
x ^= y;
y ^= x;
x ^= y;
} ba21 发表于 2018-11-22 21:40
声明的时候 int *a
* 说明是指针变量
如果是两个**呢,结构体: voidaddperson(structPerson **contact);
这两个*有一个是取址,有一个取值?
页:
[1]