C语言中 结构体作为函数参数
书上写着“StatusInitList_Sq(SqList&L)”,SqList是一个定义好的结构体,可以直接把SqListL作为参数么?还有SqList&L的意思是取这...
书上写着“Status InitList_Sq(SqList &L) ”,SqList是一个定义好的结构体,可以直接把SqList L作为参数么?
还有SqList &L的意思是取这个结构体的首地址么,真正调用这个函数的时候应该怎么输入啊? 展开
还有SqList &L的意思是取这个结构体的首地址么,真正调用这个函数的时候应该怎么输入啊? 展开
展开全部
1.可以把结构体作为参数啊,
2.不去取地址的意思,是引用的意思,函数执行时修改L的值,就直接的修改了实参的值,相当于地址传递了。
3.真正调用的时,如下:
SqList tempStruct;
InitList_Sq(tempStruct)
这样就可以了。
呵呵
2.不去取地址的意思,是引用的意思,函数执行时修改L的值,就直接的修改了实参的值,相当于地址传递了。
3.真正调用的时,如下:
SqList tempStruct;
InitList_Sq(tempStruct)
这样就可以了。
呵呵
追问
如果定义函数的时候去掉&,变成Status InitList_Sq(SqList L)。是不是实参的值就不会被函数修改了?
追答
是这样的,使用引用就是想修改实参的值,如果去掉了引用,那么就是单纯的使用实参的值,而不是修改!
光点科技
2023-08-15 广告
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
展开全部
可以直接用SqList L。SqList& L中的& 并不是取地址的意思,是引用的意思。
追问
如果定义函数的时候去掉&,变成Status InitList_Sq(SqList L)。是不是实参的值就不会被函数修改了?
追答
是的。引用的最主要作用,就是在函数传参时,传递的是实际参数,相对于非引用传参,它因为使用实际参数,少去了一份拷贝。因而效率和空间都有提升。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这是传引用的意思,不是取地址,这个好像是c++里的c里面没有引用
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询