博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言结构体知识
阅读量:7029 次
发布时间:2019-06-28

本文共 1309 字,大约阅读时间需要 4 分钟。

一、

1.

声明结构体类型的格式:(没有声明变量,不分配内存)

struct structTag(结构体标签)

{

...结构体成员

};

定义结构体变量:

struct structTag x1;

2.

或者定义结构体类型的同时声明结构体变量:

struct structTag(结构体标签)

{

...结构体成员

}x1;

3.

不指定结构体标签,直接定义结构体变量

struct

{

...结构体成员

}x1;

结构体类型无名字,因此在程序的不同地方定义结构体变量时,需要像上面的格式一样把结构体成员列出来。

二、可以用typedef给数据类型定义一个新的别名

如typedef struct structTag otherName;

或者:

typedef struct //structTag(结构体标签)

{

...结构体成员

}otherName;

效果:otherName=struct structTag

应用:struct structTag=x1;//声明结构体变量

          otherName=x1;  // 声明结构体变量

定义并初始化结构体变量,otherName=STUDENT,x1=stu1为例

STUDENT stu1={1160300705,"cellphone",'F',1997,{55,56,67,78}};

三、数组与结构体

嵌套的结构体:在一个结构体内包含了另一个结构体作为其成员

                                                   

嵌套结构体变量的初始化:

结构体数组的定义和初始化:

在程序中的访问格式:

结构体变量间可直接用等号进行复制赋值,只能在相同类型的变量间进行。

不能使用==和!=来判定两个结构体相等或不等

四、结构体指针——指向结构体变量的指针

(otherName=STUDENT)

结构体变量和指针的声明及初始化:

通过结构体指针访问结构体成员的方法:

(*pt).studentID=1160300705;

pt->studentID=1160300705;

当结构体嵌套时:

(*pt).birthday.year=1997;

pt->burthday.year=1997;

五、结构体数组指针——指向结构体数组的指针

结构体数组及结构体数组指针的声明及初始化:

通过指针访问结构体数组元素:

六、向函数传递结构体

a,向函数传递结构体的完整结构

若把结构体变量作为函数参数,实际是复制结构体的所有成员给函数,函数对结构体内容的修改不影响原结构体。

b,向函数传递结构体的首地址

若结构体指针作为函数参数,则可以对结构体的内容进行修改。

七、枚举类型

SUN,MON等为枚举常量。

应用场合:当某些量仅由有限个整型数据值组成时。

定义枚举类型的别名:

声明:

八、共用体(union)

把情形互斥但逻辑相关的多种不同类型的变量,组织到一个统一的名字之下

共用体成员共同使用同一内存空间,起作用的成员是最后一次赋值的成员,只允许为第一个成员进行初始化,只需要一个初值,花括号不能省略。

共用体的应用:

 

转载于:https://www.cnblogs.com/cellphone7/p/7671290.html

你可能感兴趣的文章
用Shell实现俄罗斯方块代码(Tetris.sh)
查看>>
[zz]Ubuntu Hadoop HDFS 配置
查看>>
上市后Avaya锣鼓全开,加速战略布局规划
查看>>
日调度5万亿次,腾讯云发布企业级微服务中间件TSF
查看>>
海外侨胞建言四川对外开放:加强内陆省份竞争力成关键
查看>>
2019款奥迪Q7上市 配置增加/69.98万元起售
查看>>
策划求婚、陪挑婚纱,新郎不是我,仍感谢你来过|在百度遇见你
查看>>
从零单排学Redis【铂金一】
查看>>
如何处理Express异常
查看>>
Cycle.js 状态管理模型
查看>>
[译]Effective Kotlin系列之考虑使用原始类型的数组优化性能(五)
查看>>
为什么我从 Google 辞职而为自己工作
查看>>
技术问答集锦(四)
查看>>
针对虚拟机搭建centos7不能上网问题处理方法
查看>>
React 源码分析
查看>>
JavaScript 算法之复杂度分析
查看>>
第六章——函数(inout参数与变异方法)
查看>>
掘金翻译计划月报 — 2018 年 2 月
查看>>
Android属性动画
查看>>
渐进式Express源码学习5-全副武装
查看>>