沙米笔记

导航

 

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

定义结构,一种是没有重定义符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

 

posted on 2016-02-25 09:19  沙米笔记  阅读(3183)  评论(0编辑  收藏  举报