定义结构体和初始化的方法


初学结构体易混淆的知识点,现在整理一下,直接看代码吧。

定义结构,一种是没有重定义符typedef,声明时都必须加struct关键字;(如方法1)
一种是直接在结构体后声明变量名,可以直接用作变量。(如方法2、3)。
初始化结构,一种是先声明,再初始化(如方法1)
       一种是在定义的后面声明变量后直接初始化(如方法2、3)。


/*************定义结构体三种方法**************/
struct PersSon
{
    int age;
    char name[20];
}PersSon;//定义结构体 方法1,定义类型,声明时必须加struct 


typedef struct PersSon1
{
    int age;
    char name[20];
}PersSon1;//重定义结构体 类型,声明时不需加struct 


struct PersSon2
{
    int age;
    char name[20];
}s1,s2; //定义结构体 方法2,定义类型时,定义变量s1、s2 

struct 
{
    int age;
    char name[20];
}s3,s4; //定义结构体 方法3,匿名定义类型时,定义变量s3、s4


/************初始化结构体的三种方法***************/ 
struct PersSon
{
    int age;
    char name[20];
}PersSon;//定义结构体 方法1,定义类型,声明时必须加struct 

// 初始化结构体变量 方法1: struct PersSon p={16,"xiaodu"};

typedef struct PersSon1
{
    int age;
    char name[20];
}PersSon1;//重定义结构体 类型,声明时不需加struct   

// 初始化结构体变量 方法1: PersSon1 p1={17,"xiaoli"};    

struct PersSon2
{
    int age;
    char name[20];
}s1={12,"xiaoming"},s2={13,"xiaohong"}; //初始化结构体变量 方法2,定义类型时,定义变量并初始化s1、s2 

struct 
{
    int age;
    char name[20];
}s3={14,"xiaoliang"},s4={15,"xiaoyang"}; //初始化结构体变量  方法3,匿名定义类型时,定义变量并初始化s3、s4

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM