2.8 结构体struct的使用

2.8 结构体struct的使用

结构体可以将若干个不同类型的变量和数组封装在一起 ,方便存储一些复合数据。

2.8.1结构体的定义

定义一个结构体的基本格式如下:

struct Name{
   
			//一些基本的数据结构或者自定义的数据类型
	};

例如,存储一个学生的学号、姓名、性别和专业:

struct studentInfo{
   
		int id;
		char name[20];
		char gender;//'F' or 'M'
		char major[100];
	}Bob,Alice,stu[1000];

其中studentInfo是这个结构体变量的类型名,内部定义了id(学号)、name(姓名)、gender(性别)、major(专业),这些就是单个学生的信息。而在大括号外定义了studentInfo型的Bob和Alice代表两个结构体变量,之后的stu[1000]就是当有很多学生需要定义时的一个结构体数组。

结构体变量和数组除了可以跟在大括号外定义外,也可以按照基本数据类型那样定义。如:

studentInfo Bob;
studentInfo stu[1000];

注意:结构体里面可以定义除了自己本身之外的任何数据类型,不过虽然不能定义自己本身,但可以定义自身类型的指针变量。如:

struct node{
   
		node n;//不能定义node型变量
		node* n;//可以定义node*型指针变量
	}

2.8.2 访问结构体内的元素

访问结构体内的元素有两种方法:" . “操作和” -> "操作。如:

#include<stdio.h>
/*定义一个结构体studentInfo存储学生信息
        id(学号)、name(姓名)、指针next用于指向下一个学生的地址
        分别定义了一个结
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值