一、创建结构体的两种方法
、
第一种是在创建结构体类型后,直接创建结构体变量,注意此时的结构体变量是全局变量,而在主函数内部创建的结构体变量是局部变量。
二、结构体初始化的“套娃”
结构体内部还可以再次定义结构体,但在初始化时,需要在{ } 里面再次{ }
三、结构体传参
先说结论,结构体传参需要传地址!
问题:print1和print2哪个更好?
解答:
第二种好。
第一种将结构体s这个实参直接传过去,所以需要一个形参进行接收,而形参又是实参的一份临时拷贝,所以需要再一次创建一个结构体,而一个结构体创建所需要的内存可能很大,而print2将地址传过去,只需要指针进行接受,只需要4个或8个字节的内存空间,相比较而言,内存空间就占的很少了
四、栈
栈是数据结构的一种,栈只能从顶上加减,有定义插入一个元素:压栈,删除一个元素:出栈。
内存区的分配:
当函数传参时,把参数传过去这一动作也称为压栈,即函数传参时,参数是需要压栈的。