结构体加&和不加&

这里一个例子,加和不加的区别:

关于scanf输入到结构体中时不用&的问题_-CSDN问答

回答了获取结构体里面的单变量成员和数组成员的地址时,结构体变量前加不加&的问题。

另外,当结构体数组传入函数时,需要加&。如果不加,则只是结构体类型的变量,如结构体类型是zhh_st,那么形参zhh_st  zhh,就是一个zhh_st型的变量。

结构体类似于一个数组,比如int a[3],则,如果传入int a,则只能传入数组的第一个元素,即传入一个int的字节,要传入整个数组,则要写成:int* a,才表示传入了数组,当然,还需要指定数组个数。

对于上述结构体,若只传入zhh_st  zhh,则只传入了结构体数组的首个元素。要传入整个结构体,形参写成zhh_st*  zhh,并指定结构体数组个数。传入时,实参写成&zhh。

或者再看这一篇:

C 结构体 | 菜鸟教程 (runoob.com)

“结构作为函数参数”部分,其实也是一个意思,结构体并不是不能直接作为函数参数,只不过,若只用结构体名,则传入的就是一个结构体变量,用&加结构体名,可以传入结构体数组,单个结构体变量也可以认为是一个元素的结构体数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值