初级结构体 1.结构体类型的声明 结构体是什么: struct stu是我们自己创建的一种类型(与int类似) s是一个变量,它的类型是结构体类型(struct stu) struct stu是变量类型的声明,声明是一条语句所以要在花括弧后加分号 类型不占空间,只有当创建变量时才向内存申请空间 1.struct tag(tag的意思是标签)结构体标签(tag自己决定,简明知意即可) 2.member - list结构体成员变量列表 3.结构体成员变量可以是不同类型的 4.variable - list(变量列表)s1,s2,s3; 5.结构体成员列表里放的都是变量 6.但是这些变量在没使用结构体时都是未开辟空间的 5.表示struct stu s1;struct stu s2;struct stu s3; 6.而且s1,s2,s3为全局变量 一般不采用这种方法 一般创建临时变量,而不是全局变量 typedef重新定义的意思 就是将struct Stu重新起了一个名字叫Stu 并且可以根据这个创建变量 2.结构体变量的定义及初始化 结构体使用{}花括弧进行初始化 结构体变量的初始化(一一对应) 相当于char name[20]="张三",short age=20,char tele[12]="15249287076",char sex[5]="男"; 结构体的成员可以是其他结构体 此时结构体的初始化 因为成员s是另一个结构体,所以也要用花括弧进行初始化 3.结构体成员访问 使用(.)操作符进行成员访问 访问方式: 创建的结构体变量t(.)结构体成员变量 例:t.ch 分析: 4.结构体传参 传值调用时 函数形参使用相应的结构体变量来接受实参传来的结构体变量 传址调用时 函数形参使用相应的结构体 指针 变量 来接受实参传来的结构体变量的地址 用(->)操作符进行结构体成员访问 只能 在 变量为 指针变量 时 可以使用 (->)操作符 进行结构体成员访问 print2更好一点 传值调用是传址调用的一份临时拷贝 传址调用时传递的是结构体的地址 内存时间和空间的浪费会小一点 建议: 结构体传参 采用传址调用的方式 压栈: 任何一次函数调用时会在栈区上申请一块内存空间 只能在栈顶上入栈 只能在栈顶上出栈 传参的这个动作就叫做压栈操作
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
结构体大小计算-结构体对齐
计算某一结构体大小:方法以及规则。
偏移量 #pragma 结构体 结构体大小计算 -
结构体【Go基础】
结构体(居然没有类!!! 那对象去哪找!!!!)
golang 字段 初始化 自定义类型 其他 -
Go 结构体基础 1
Go 结构体基础 1
golang java 算法 字段 json -
深入浅出变长结构体
深入浅出变长结
变长结构体 柔性数组 深入浅出 数组 数据 赋值 -
35深入理解C指针之---结构体基础
深入理解C指针之---结构体基础
深入理解C指针 结构体指针 #include 数据 数据类型