最近看老师的程序PointList 就是一个点列表结构体
struct Point { float x, y; }; struct PointList { int size; int cur; struct Point points[10]; };
为什么有时候在函数中使用 PointList L 做参数,有时候使用 PointList &L,两者有什么区别呢?
人生最曼妙的风景,竟是内心的淡定与从容!
這不是C是C++吧,PointList &L,我習慣寫成 PointList& L,這是申明一個引用型。函數參數如果不是引用型別會拷貝一個副本,如果是引用型別會傳遞原來的結構值。
PointList &L
PointList& L
簡而言之,PointList L傳值,PointList &L傳址。
PointList L
對於非基元類型,請一律使用PointList &L作為形參,如果不想改動實參,請用const PointList &L。
const PointList &L
這不是C是C++吧,
PointList &L
,我習慣寫成PointList& L
,這是申明一個引用型。函數參數如果不是引用型別會拷貝一個副本,如果是引用型別會傳遞原來的結構值。簡而言之,
PointList L
傳值,PointList &L
傳址。對於非基元類型,請一律使用
PointList &L
作為形參,如果不想改動實參,請用const PointList &L
。