数据结构前置知识——结构体

以具体代码为例,详解结构体类型定义,变量定义,变量引用,变量传输

#include<stdio.h>



typedef struct birth{
	int year;
	int month;
	int day;
}birth;//定义一个以birth为类型名的结构体,并且定义对应变量为birth


typedef	struct Stu{
		int age;
		char* sex;
		int score;
		birth bir;
	}Stu;//定义一个以Stu为类型名的结构体,并且定义对应变量为Stu


void prin(Stu stu){
	printf("%d,%s,%d",stu.age,stu.sex,stu.score);
	
}定义一个函数,将Stu类型结构体变量stu传入,并且打印stu变量各参数值

void prin2(Stu *p,int len){
	
	for(int i=0;i<len;i++){
	
	printf("%d,%s,%d",(p+i)->age,(p+i)->sex,(p+i)->score);}
	
}/定义一个函数,将指针变量,长度整型变量传递,并打印指针变量所指结构体参数

int main(){

Stu students[]{{22,"男",100,{2001,03,20}},{22,"男",100,{2001,03,20}},{22,"男",100,{2001,03,20}}};//定义一个Stu类型结构体数组,数组基本元素为结构体变量


Stu stu1={22,"男",100,{2001,03,20}};
		Stu *p= &stu1;定义一个Stu类型指针变量,并将stu1结构体地址传递
	
	prin2(students,2);
	
} 

结构体定义方式

struct 结构体类型名{具体参数},这里定义只是给出声明,并未分配内存,没有真正定义变量

结构体类型名 结构体变量名{}

结构体变量引用,使用结构体名+.作引用

结构体指针变量,结构体类型名*指针变量名=&结构体变量名,可将结构体变量对应地址赋给指针变量

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值