结构体typedef struct的用法 和结构体的定义

转载:

https://www.cnblogs.com/FYXin/p/5794719.html

代码:

结构体的定义:

1.

   struct Person {

    char name[20];

    char sex;

    float  height;

    int age;

};   只有结构体的定义


2.  

  struct Person {

    char name[20];

    char sex;

    float  height;

    int age;

} xiaohong;  附加该结构体类型的“结构体变量”的初始化定义结构体

这种定义就相当于

  struct Person {

    char name[20];

    char sex;

    float  height;

    int age;

};

  struct Person  xiaohong; 

定义另一个结构体

  struct Person xiaoming ; 定义一个变量名为xiaoming的结构体

这种每次都要加一个struct关键字的写法有点麻烦


3.

  typedef struct Person {

    char name[20];

    char sex;

    float  height;

    int age;

}Per; 这种写法在声明结构体变量的时候就可以用 Per xiaoming;

     如果没有typedef 就必须用 struct Person,这里的Per实际上就是 struct Person的别名

另外这里也可以不写Student(于是也不能struct Student stu1;了)

        typedef struct
        {
            int a;
        }Stu;


       但在c++里很简单,直接
        struct Student
        {
           int a;
        };
       于是就定义了结构体类型Student,声明变量时直接Student stu2;
       也就是说,C++里的struct本身已经含有typedef的部分功能了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值