c++学习笔记(关于结构体struct的知识点)

1.结构体很类似java中的class,用法也很接近,只不过没有构造方法罢了

而且赋值的时候直接在花括号里面赋值即可;

2.结构体指针不需要解引用,只需要在调用属性的时候使用指针->属性就可以读取了

3.关于值传递和地址传递的情况(结构类型作为参数的时候)

对于值传递来讲

void submit(school sdu) {//传输一个值
	sdu.name = 211;
}
int main() {
	school sdu = { 985 };
	submit(&sdu);
	cout << sdu.name << endl;//输出结果仍然是985
	//和Java不太一样,java在这里已经把引用类型的地址传入进去了,犯不上指针
	//但是cpp貌似不会,只是做到了值传递而已,算是一个和class不一样的地方
//相当于没有修改

而对于地址传递来讲

void submit(school * sdu) {//传递地址
	sdu->name = 211;//结构体类型不用再解引用了熬
                      ps:数组也不用了
}
int main() {
	school sdu = { 985 };
	submit(&sdu);
	cout << sdu.name << endl;//输出结果就是211了
	//变成指针值传递,就能正常修改变成211;

总结一下(1)java输入引用类型就是自动输入地址,但是cpp做不到这一点,想要在方法里面改变外面的东西,只能返回值(这个也太蠢了)或者是传入地址类型

(2)传入以后和数组一样不用接引用,直接上名字就行....................

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值