C 结构和其他数据形式
2016-06-04 14:30
218 查看
关键概念
表示一个编程问题所需的信息通常要比一个或多个数字更为复杂。程序可能会处理具有多个属性的实体或实体集合。C的结构使您可以在一个单独的单元中收集这些信息。这对组织一个程序非常游泳,因为这样可以把所有相关的信息存储在一个地方,而不是存储在分散的多个变量中。在设计一个结构时,开发一个与之配套的函数包通常是很有用的。
联合的生命看起来很像结构的声明,然而,联合的成员共享同一个存储空间,并且在一个时间只有一个成员可以存在于联合中。实质上,联合允许您创建用来保存一个类型不定的值的变量。
enum工具提供了定义符号常量的一种方法,typedef工具提供了为基本类型或派生类型创建新标识符的一种方法。指向函数的指针提供了告诉函数应该使用哪个函数的一种方法。
总结
结构(struct)
C的结构提供了在同一个数据对象中存储几个通常是不同类型的数据项的方法。可以使用标记来代表一个具体的结构模板,并声明该结构类型的变量。成员点(.)运算符使你可以通过使用结构模板中的标签来访问结构的各个成员。如果有一个指向结构的指针,可以使用该指针以及间接运算符(->)替代名字和点运算符来访问结构的各个成员。要得到结构的地址,可以使用运算符&。与数组不同,结构名不是结构的地址。
传统上,和结构有关的函数使用指向结构的指针作为参数。
联合(union)
联合使用与结构相同的语法。但是,联合成员共享一个公共的存储空间。联合存储其选项列表中的一个单独的数据项类型,而不像结构那样同时存储多个数据类型。也就是说,如果一个结构可以保存一个int型,一个double型以及一个char型数据,那么相应的联合能保存一个int型,或者一个double型,或者一个char型的数据。枚举(enum)
枚举使得您可以创建一组代表整形常量的符号(枚举常量),也允许您定义关联的枚举类型。typedf
typedf工具可以用来建立C标准的类型的别名或者速记表示指向函数的指针
一个函数的名称给出该函数的地址。这个指向函数的地址可以作为参数被传递给使用该函数的另一个函数。如果pdf是一个函数指针,并且已经给它复制了一个特定函数的地址,可以用两种方式来调用该函数。#include <math.h> ... double (*pdf)(double); double x; x = (*pdf)(1.2); x = pdf(1.2);
相关文章推荐
- QT源码剖析之QSS样式表
- 面向对象_补充_封装_成员与局部变量_static关键字_Math随机数
- Opencv 图像叠加 添加水印
- poj 1505 Copying Books 动态规划
- Maven项目管理
- 【LeetCode】310. Minimum Height Trees
- Ubuntu下vi编辑器方向键变成字母的解决方法
- 有效处理Java异常的三个原则,你知道吗?
- Android的文件存储
- 进程间通信---共享内存
- 两种连通区域标记算法
- 《C++沉思录》——类设计核查表、代理类、句柄类
- Eclipse打包apk报错原因分析(一)
- 【Android】Parse 开发
- 团队作业七
- [jvm解析系列][二]Java堆的详细讲解和对象的分配过程和访问
- VS2010下创建的VB.NET项目打包发布安装包的流程
- VS2010 error C2440: 'static_cast' : cannot convert from 'void (__thiscall CKeyexeDlg::* )(WPARAM,LP
- Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框
- stm32 学习经历—环境搭建 以103 407搭建 3/1