所以两者的本质区别主要在于,InitList_Sq(SqList+&L) 通过传递指向指针的指针来修改调用者函数中的变量 L(相当于引用),使 L 指向一个新分配的内存空间;而 InitList(&L) 直接接收 SqList 类型的参数 L 并进行初始化操作,不涉及指针传递。亲,希望以上内容对您有所帮助呢😘 好的呢 亲,Ini...
initlist(sqlist &L)的意思是说,参数L是sqlist的指针类型。且在函数中可以修改这个指针L。
Sqlist L;intn;//&L表示实参,是一个变量的地址initList(&L);//printf("请输入元素个数"); scanf("%d",n); createList(&L,n); }-//初始化顺序表,顺序表本身需要发生改变//*L是一个形参,参数类型是Sqlist类型的指针voidinitList(Sqlist *L){ (*L).length =0;//当前长度置零,空的printf("初...
initlist(sqlist*&L)中的*&L是引用。c++中的概念,int a;int &b=a;这就声明了b是a的引用,经过这样的声明后使用a或b的作用相同,都代表同一变量。对变量声明一个引用,并不另开辟内存单元。函数参数传递有两种情况,有一般的将变量名作为参数,这时传递给形参的是变量的值,在执行函数的时候,...
SqList L;定义了一个结构体变量L,调用的时候用的是指针指向该变量地址。
数据结构书上 InitList_Sq(SqList &L) InitList和InitList_Sq有什么区别?在括号里面的SqList是什么意思?如果没有行吗?
百度试题 结果1 题目数据结构书上 InitList_Sq(SqList &L) InitList和InitList_Sq有什么区别?在括号里面的SqList是什么意思?如果没有行吗? 相关知识点: 试题来源: 解析 2016-12-11 反馈 收藏
sqlist *l,elemtyp e[],int n),要么void creatlist(sqlist l,elemtyp e[],int n),当然,如果你的函数返回值是void,那么就必须用前者,即void creatlist(sqlist *l,elemtyp e[],int n),这是因为函数的参数是单向传递的!如果不懂什么叫单向传递,就去请教一下你的老师吧!
静态 初始化链表函数(链表L)
因为L不是地址,可以去看看结构指针的定义规则