c015---结构体
2015-07-21 21:22
225 查看
结构体与数组类似,都是由若干分量组成的,与数组不同的是,结构体的成员可以是不同类型,可以通过成员名来访问结构体的元素。
结构体的定义说明了它的组成成员,以及每个成员的数据类型。定义一般形式如下:
struct 结构类型名
{
数据类型 成员名 1;
数据类型 成员名 2;
……
数据类型 成员名 n;
};
结构的定义说明了变量在结构中的存在格式,要使用该结构就必须说明结构类型的变量。结构变量说 明的一般形式如下:
struct 结构类型名称 结构变量名;
定义结构体便是定义了一种由成员组成的复合类型,而用这种类型说明了一个变量才会产生具体的实 体。与说明基本数据类型的变量一样,系统会按照结构定义时的内部组成,为说明的结构变量分配内存空 间。结构变量的成员在内存中占用连续的存储区域,所占内存大小为结构中每个成员的长度之和。
我们可以将变量 student1 说明为 address 类型的结构变量:
struct address student1;
虽然,结构体作为若干成员的集合是一个整体,但在使用结构时,不仅要对结构的整体进行操作,还
经常要访问结构中的每一个成员。在程序中使用机构中成员的方法为:
结构变量名.成员名称
如 student1.tel 表示结构变量 student1 的电话信息。
和其他类型的变量一样,结构变量也可以进行初始化。结构初始化的一般形式如下:
struct 结构类型名 结构变量 =
{ 初始化数据 1, …… 初始化数据 n };
结构体数组
结构体数组是一个数组,其数组的每一个元素都是结构体类型。在实际应用中,经常用结构体数组来
表示具有相同数据结构的一个群体,如一个班的学生档案,一个车间职工的工资表等。定义结构体数组和
结构体变量相仿,只需说明它为数组类型即可。
比如定义一个结构体数组 student,包含 3 个元素:student[0]、student[1]、student[2],每个数组元素都
具有 struct address 的结构形式,并对该结构体数组进行初始化赋值:
结构体数组
结构体数组是一个数组,其数组的每一个元素都是结构体类型。在实际应用中,经常用结构体数组来
表示具有相同数据结构的一个群体,如一个班的学生档案,一个车间职工的工资表等。定义结构体数组和
结构体变量相仿,只需说明它为数组类型即可。
比如定义一个结构体数组 student,包含 3 个元素:student[0]、student[1]、student[2],每个数组元素都
具有 struct address 的结构形式,并对该结构体数组进行初始化赋值:
指向结构体的指针
当一个指针用来指向一个结构体变量时,称之为结构体指针变量。结构体指针变量中的值是所指向的
结构变量的首地址,通过结构指针即可访问该结构变量。这与数组指针和函数指针的情况是相同的。结构
体指针变量定义的一般形式为:
struct 结构类型名 *结构指针变量名
结构体可分为
匿名结构体
有名结构体
别名结构体
eg:带补充
结构体的定义说明了它的组成成员,以及每个成员的数据类型。定义一般形式如下:
struct 结构类型名
{
数据类型 成员名 1;
数据类型 成员名 2;
……
数据类型 成员名 n;
};
结构的定义说明了变量在结构中的存在格式,要使用该结构就必须说明结构类型的变量。结构变量说 明的一般形式如下:
struct 结构类型名称 结构变量名;
定义结构体便是定义了一种由成员组成的复合类型,而用这种类型说明了一个变量才会产生具体的实 体。与说明基本数据类型的变量一样,系统会按照结构定义时的内部组成,为说明的结构变量分配内存空 间。结构变量的成员在内存中占用连续的存储区域,所占内存大小为结构中每个成员的长度之和。
我们可以将变量 student1 说明为 address 类型的结构变量:
struct address student1;
虽然,结构体作为若干成员的集合是一个整体,但在使用结构时,不仅要对结构的整体进行操作,还
经常要访问结构中的每一个成员。在程序中使用机构中成员的方法为:
结构变量名.成员名称
如 student1.tel 表示结构变量 student1 的电话信息。
和其他类型的变量一样,结构变量也可以进行初始化。结构初始化的一般形式如下:
struct 结构类型名 结构变量 =
{ 初始化数据 1, …… 初始化数据 n };
#include<stdio.h> #include<string.h> struct _INFO { int num; char str[256]; }; int main() { struct _INFO A; A.num = 2014; strcpy(A.str,"Welcome to clang.cc"); printf("This year is %d %s\n",A.num,A.str); return 0; }
结构体数组
结构体数组是一个数组,其数组的每一个元素都是结构体类型。在实际应用中,经常用结构体数组来
表示具有相同数据结构的一个群体,如一个班的学生档案,一个车间职工的工资表等。定义结构体数组和
结构体变量相仿,只需说明它为数组类型即可。
比如定义一个结构体数组 student,包含 3 个元素:student[0]、student[1]、student[2],每个数组元素都
具有 struct address 的结构形式,并对该结构体数组进行初始化赋值:
struct address { char name[30]; /*姓名,字符数组作为结构体中的成员 */ char street[40]; /*街道*/ unsigned long tel; /*电话,无符号长整型作为结构体中的成员 */ unsigned long zip; /*邮政编码*/ }student[3]={ {"Zhang","Road NO.1",111111,4444}, {"Wang"," Road NO.2",222222,5555}, {"Li"," Road NO.3",333333,6666} }
结构体数组
结构体数组是一个数组,其数组的每一个元素都是结构体类型。在实际应用中,经常用结构体数组来
表示具有相同数据结构的一个群体,如一个班的学生档案,一个车间职工的工资表等。定义结构体数组和
结构体变量相仿,只需说明它为数组类型即可。
比如定义一个结构体数组 student,包含 3 个元素:student[0]、student[1]、student[2],每个数组元素都
具有 struct address 的结构形式,并对该结构体数组进行初始化赋值:
指向结构体的指针
当一个指针用来指向一个结构体变量时,称之为结构体指针变量。结构体指针变量中的值是所指向的
结构变量的首地址,通过结构指针即可访问该结构变量。这与数组指针和函数指针的情况是相同的。结构
体指针变量定义的一般形式为:
struct 结构类型名 *结构指针变量名
结构体可分为
匿名结构体
有名结构体
别名结构体
eg:带补充
相关文章推荐
- 安装64位版Oracle11gR2后无法启动SQLDeveloper的解决方案
- [转]double与BigDecimal
- Linux下常用的shell命令记录1
- #ifdef 和 #if defined 的区别 -- 转
- 类的加载过程
- SDL 日志系统分析
- poj 2594 Treasure Exploration 最小路径覆盖/最大匹配
- 上海电信NTP服务器地址
- 实习日记八、JSTL
- HTML5动画形式装载图像
- 在交叉编译器中出现 “no such file or directory”
- JavaScript 事件绑定
- 黑马程序员——Java基础语法一
- DLNA它 Error, can't findlibavformat ! 解
- 栈
- OO’s Sequence
- Scala入门到精通——第五节 函数与闭包
- STA之Concepts (1)
- 开发第一个iOS项目 Hello iOS
- uva 1474(dp)