结构体的基本知识

结构体

定义

C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为结构体。在C语言中,结构体(struct)指的是一种数据结构,是C语言中聚合数据类型(aggregate data type)的一类。结构体可以被声明为变量、指针或数组等,用以实现较复杂的数据结构。结构体同时也是一些元素的集合,这些元素称为结构体的成员(member),且这些成员可以为不同的类型,成员一般用名字访问。

一般形式

struct 结构体名
{
成员表列
};
例如

struct Date
{
int month;
int day;
int year;
};

(最后的“;”一定不要忘记)

定义结构体变量

1.先声明结构体,在定义该类型的变量

struct Date
{
int month;
int day;
int year;
};
struct Student student1,student2

2.在声明类型的同时定义变量

```c
struct data
{
     int day;
     int month;
     int year;
} time1,time2;

3.不指定类型名而直接定义结构体类型变量

struct
{
     char name[20];  //学生姓名
     char sex;       //性别
     long num;       //学号
     float score[3]; //三科考试成绩
} person1,person2;   //定义该结构体类型变量

这种方法指定了一个无名的结构体类型,显然不能再以此结构体类型去定义其他变量。这种方式用的不多

结构体变量的初始化和引用

1、在定义的时候进行初始化

struct STUDENT
{    
char name[20]; 
int num;  
struct AGE birthday;    
float score;
};
int main()
{   
 struct STUDENT student1 = {"小明", 1207041, {1989, 3, 29}, 100};    
 return 0;
 }

2、对某一成员初始化
结构体变量名.成员名
例如:student1.num=190704;
3、 如果结构体类型中的成员也是一个结构体类型,则要用若干个“.”,一级一级地找到最低一级的成员。因为只能对最低级的成员进行操作。
如:student.birthday.mouth(结构体变量student1中的成员birthday中的成员mouth)
4、对结构体变量的成员可以像普通变量一样进行各种运算
例如:
student2.score=student1.score;(赋值运算)
sum= student2.score+student1.score;(加法运算)
student1.age++;(自加运算)
5、同类的结构体变量可以互相赋值
例如:student1=student2;//假设student1和student2已定义为同类型的结构体变量
6、可以引用结构体变量成员的地址,也可以引用结构体变量的地址
例如:
scanf(“%d”,&student1.num);(输入student1.num的值)
printf("%o",&student1);(输出结构体变量student1的起始地址)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值