结构体类型定义说明初始化

本文详细介绍了C++中结构体的定义方式,包括先定义后声明、直接定义、typedef重命名以及结构体变量的初始化。同时,通过示例展示了如何初始化包含复杂结构体类型的变量,强调了初始化过程中的规则和注意事项。
摘要由CSDN通过智能技术生成
/*struct Student			//包含基本数据类型 		不能重名 
{
	int Code;				//学号 
	char Name[20];			//姓名 
	char Sex;				//性别 
	int Age;				//年龄 
};
struct Point 			
{
	double x;				//x坐标 
	double y;				//y坐标 
	double z;				//z坐标 
 } ;
 struct Line			//包含结构体数据类型 
 {
 	struct Point StartPoint;
 	struct Point EndPoint;
  } ;*/
  
 //1.先定义结构体类型,再单独进行变量定义 
 struct Student			
 {
 	int Code;
 	char Name[20];
 	char Sex;
 	int Age;
 };
 struct Student Stu; 
 struct Student Stu[10];
 struct Student *pStu;

struct Student						//初始化结构体变量 
   {
   	int Code;
	char Name[10];
	char Sex;
	int Age;  
	};									//在结构体定义后要有; 
	struct Student Stu{200301,"张三",'M',21};
	
 //2.紧跟在结构体类型说明之后进行定义
 struct Student			 
 {
 	int Code;
 	char Name[20];
 	char Sex;
 	int Age;
 } Stu,Stu[10],*pStu;
 
 	struct Student						//初始化结构体变量 
   {
   	int Code;
	char Name[10];
	char Sex;
	int Age;  
	} Stu{200301,"张三",'M',21}; 
 
 //3.在说明一个无名结构体类型的同时直接进行定义
 struct					 
 {
 	int Code;
 	char Name[20];
 	char Sex;
 	int Age;
  } Stu,Stu[10],*pStu;	//此时,没有定义结构体类型的名字,因此不能再用它来定义其他变量 
  
  struct 						//初始化结构体变量 
   {
   	int Code;
	char Name[10];
	char Sex;
	int Age;  
	} Stu{200301,"张三",'M',21};
  
  //4.使用typedef说明一个结构体类型名后再用新类型名来定义变量
  typedef struct		 
  {
  	int Code;
  	char Name[10];
  	char Sex;
  	int Age;
   } Student;			//说明的结构体类型名 Student 
   Student Stu,Stu[10],*pStu;			//不可再使用关键字 
   
   	typedef struct		 
  {
  	int Code;
  	char Name[10];
  	char Sex;
  	int Age;
   } Student;			//说明的结构体类型名 Student 
   Student {200301,"张三",'M',21}; //是否有等号都行
    
//不允许跳过前面给后面赋值,允许只给前面的若干个成员赋值,后面的成员系统自动赋默认的初值
 	struct Student 						//初始化结构体变量 
   {
   	int Code;
	char Name[10];
	char Sex;
	int Age;  
	} Stu{200301}
	
	struct Line						//对于复杂结构体类型变量的初始化,同样遵循上述规律 
   {
   	int id;
	   struct Point StartPoint;
	   struct Point EndPoint; 
	} oLine1={0,{0,0,0},{100,0,0}};/*struct Student			//包含基本数据类型 		不能重名 
{
	int Code;				//学号 
	char Name[20];			//姓名 
	char Sex;				//性别 
	int Age;				//年龄 
};
struct Point 			
{
	double x;				//x坐标 
	double y;				//y坐标 
	double z;				//z坐标 
 } ;
 struct Line			//包含结构体数据类型 
 {
 	struct Point StartPoint;
 	struct Point EndPoint;
  } ;*/
  
 //1.先定义结构体类型,再单独进行变量定义 
 struct Student			
 {
 	int Code;
 	char Name[20];
 	char Sex;
 	int Age;
 };
 struct Student Stu; 
 struct Student Stu[10];
 struct Student *pStu;

struct Student						//初始化结构体变量 
   {
   	int Code;
	char Name[10];
	char Sex;
	int Age;  
	};									//在结构体定义后要有; 
	struct Student Stu{200301,"张三",'M',21};
	
 //2.紧跟在结构体类型说明之后进行定义
 struct Student			 
 {
 	int Code;
 	char Name[20];
 	char Sex;
 	int Age;
 } Stu,Stu[10],*pStu;
 
 	struct Student						//初始化结构体变量 
   {
   	int Code;
	char Name[10];
	char Sex;
	int Age;  
	} Stu{200301,"张三",'M',21}; 
 
 //3.在说明一个无名结构体类型的同时直接进行定义
 struct					 
 {
 	int Code;
 	char Name[20];
 	char Sex;
 	int Age;
  } Stu,Stu[10],*pStu;	//此时,没有定义结构体类型的名字,因此不能再用它来定义其他变量 
  
  struct 						//初始化结构体变量 
   {
   	int Code;
	char Name[10];
	char Sex;
	int Age;  
	} Stu{200301,"张三",'M',21};
  
  //4.使用typedef说明一个结构体类型名后再用新类型名来定义变量
  typedef struct		 
  {
  	int Code;
  	char Name[10];
  	char Sex;
  	int Age;
   } Student;			//说明的结构体类型名 Student 
   Student Stu,Stu[10],*pStu;			//不可再使用关键字 
   
   	typedef struct		 
  {
  	int Code;
  	char Name[10];
  	char Sex;
  	int Age;
   } Student;			//说明的结构体类型名 Student 
   Student {200301,"张三",'M',21}; //是否有等号都行
    
//不允许跳过前面给后面赋值,允许只给前面的若干个成员赋值,后面的成员系统自动赋默认的初值
 	struct Student 						//初始化结构体变量 
   {
   	int Code;
	char Name[10];
	char Sex;
	int Age;  
	} Stu{200301}
	
	struct Line						//对于复杂结构体类型变量的初始化,同样遵循上述规律 
   {
   	int id;
	   struct Point StartPoint;
	   struct Point EndPoint; 
	} oLine1={0,{0,0,0},{100,0,0}};

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值