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)传入以后和数组一样不用接引用,直接上名字就行....................