给小弟一个详细解释,不胜感激
下面是一个“空线性表”的源代码,#include <stdio.h>
#include <stdlib.h>
typedef int Status;
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define LIST_INIT_SIZE 100
#define LISTINCREMENT 10
struct sqlist{
int *elem;
int length;
int listsize;
}sqlist2;
Status InitList_Sq(sqlist &L) //第十四行
{
//构造空线性表L
L.elem = (int *)malloc(LIST_INIT_SIZE*sizeof(int));
if(!L.elem) exit(OVERFLOW);
L.length = 0;
L.listsize = LIST_INIT_SIZE;
return OK;}
int main()
{InitList_Sq(sqlist2);}
小弟觉得疑惑,为什么第十四行括号里的“&”去掉以后,同样还是个正确的程序?不可能说“&”做“引用(即取别名)”功能时,可写可不写吧?这绝对不可能吧!