【C语言的学习】第十三回合:结构体大集合
2013-09-24 06:57
330 查看
第十三回合:结构体大集合
A: 结构体:是数据结构类型,把有内在联系的不同类型的数据统一成一个整体,使它们相互关联。又是变量的集合,可以单独使用其的成员。
定义:
struct 结构体名
{
类型标识符
成员名1;
类型标识符
成员名2;
……
}; //分号一定不能省
PS:
(1) 结构定义并不预留内存,结构体变量的定义才引起存储分配
(2) 结构体成员的数据类型可以是C语言的基本数据类型,也可以是数组和指针类型。还可以是自定义类型,成员的排列不分先后次序
(3) 结构体名是合法命名的标识符
(4) 结构定义仅描述了一个结构的形式。如果要在程序里使用结构,需要声明结构变量。
B: 结构体的输入输出
(a) 结构体变量不能整体输入输出,要通过成员运算符“.”,逐个访问其成员
如:
声明:
struct date
{ int year;
int month;
int day;
};
struct date birth;
输出的格式:
正确的输出格式:
printf("%d, %d, %d",birth.year, birth.month, birth.day);
下面的方法是错误的:
printf("%d,%d, %d",birth);
C:结构体变量的初始化
(a) 一般形式:
结构体类型名 结构体变量= {初始表};
(b)
1)间接初始化
strict ST
{
int num ;
char name[20];
char sex;
float score;
struct date birthday;
};
下面在main()中初始化
Struct STstudent ={102, "Zhangsan", 'M', 85,{1980,9,20}};
2)直接在结构体定义时初始化
strict ST
{
int num ;
char name[20];
char sex;
float score;
struct date birthday;
} student ={102, "Zhangsan", 'M', 85,{1980,9,20} } ;
D:结构体数组和结构体指针的定义、初始化跟上面的都一样,没什么不同。只不过结构体指针的访问除了用运算符“.”(点)访问,还可用指向运算符“->”访问(位置还是和用‘.’访问的位置一样)。
(复习做的笔记,还在整理中。。。。)
A: 结构体:是数据结构类型,把有内在联系的不同类型的数据统一成一个整体,使它们相互关联。又是变量的集合,可以单独使用其的成员。
定义:
struct 结构体名
{
类型标识符
成员名1;
类型标识符
成员名2;
……
}; //分号一定不能省
PS:
(1) 结构定义并不预留内存,结构体变量的定义才引起存储分配
(2) 结构体成员的数据类型可以是C语言的基本数据类型,也可以是数组和指针类型。还可以是自定义类型,成员的排列不分先后次序
(3) 结构体名是合法命名的标识符
(4) 结构定义仅描述了一个结构的形式。如果要在程序里使用结构,需要声明结构变量。
B: 结构体的输入输出
(a) 结构体变量不能整体输入输出,要通过成员运算符“.”,逐个访问其成员
如:
声明:
struct date
{ int year;
int month;
int day;
};
struct date birth;
输出的格式:
正确的输出格式:
printf("%d, %d, %d",birth.year, birth.month, birth.day);
下面的方法是错误的:
printf("%d,%d, %d",birth);
C:结构体变量的初始化
(a) 一般形式:
结构体类型名 结构体变量= {初始表};
(b)
1)间接初始化
strict ST
{
int num ;
char name[20];
char sex;
float score;
struct date birthday;
};
下面在main()中初始化
Struct STstudent ={102, "Zhangsan", 'M', 85,{1980,9,20}};
2)直接在结构体定义时初始化
strict ST
{
int num ;
char name[20];
char sex;
float score;
struct date birthday;
} student ={102, "Zhangsan", 'M', 85,{1980,9,20} } ;
D:结构体数组和结构体指针的定义、初始化跟上面的都一样,没什么不同。只不过结构体指针的访问除了用运算符“.”(点)访问,还可用指向运算符“->”访问(位置还是和用‘.’访问的位置一样)。
(复习做的笔记,还在整理中。。。。)
相关文章推荐
- 【C语言的学习】第十回合:数组大集合
- 【C语言的学习】第四回合:运算符和表达式大集合
- 【C语言的学习】第十一回合:预处理命令大集合
- 【C语言的学习】第十四回合:动态内存分配函数大集合
- 【C语言的学习】第十五回合:文件大集合
- 【C语言的学习】第一回合:入门大集合
- 【C语言的学习】第九回合:作用域和存储类型大集合
- 学习C语言选择结构程序设计
- Clojure学习03:数据结构(集合)
- 循环控制结构程序02 - 零基础入门学习C语言17
- 记录我的数据结构(C语言)学习历程(2017年3月30号开始)
- 【学习笔记】【C语言】循环结构-do while
- 【C语言的学习】第二回合:命名规则大集合
- 【C语言的学习】第七回合:分支与循环大集合
- iOS开发学习之C语言---C03 循环结构
- C语言学习之结构体等
- 记录我的数据结构(C语言)学习历程(2017年3月30号开始):
- 黑马程序员----C语言学习笔记之循环结构介绍和用法举例
- 循环控制结构程序03 - 零基础入门学习C语言18
- C语言学习-顺序结构+运算符选讲