typedef给类型起别名

typedef本身并不会创建新的类型,只是给原的类型起个别名而已。

一般形式为:typedef 原类型 别名

typedef int int_32;

int_32 a = 5, b = 6; //与int a = 5, b = 6;是一样的 

typedef几点注意事项:

  • typedef本身没有创建新类型,只给原有类型起个别名
  • typdef不像define,define被预处理器替换,typedef不会被预处理器替换
  • typedef给struct、union起别名时,声明结构体、联合体时就不需要加struct、union关键字了 

#include <stdio.h>
//#include <stdint.h>
/*
时间:2022-05-16 15:16
作者:sgbl888
功能:typedef为类型取别名
知识点:
    1、typedef并没有创建新类型,只是给已有类型取个别名而已
    2、typedef不像define被预处理器替换,typedef是由编译器处理的
    3、给struct和union取别名后,声明类型时不需要加struct或union关键字了
*/
//给int类型取别名
typedef int int_32;
//给结构体取别名
typedef struct{
    char name[20];
    short gender;
    float height;
} person; //person就是别名,而不是结果体变量名称
//给联合起别名
typedef union{
    int n;
    float f;
} uname; //uname是别名,而不是联合体变量名称

int main(){
    //int别名int_32
    int_32 a = 5, b = 6;
    printf("%d %d\n", a, b);

    //结构体
    //struct person p2; //报错:error: storage size of 'p2' isn't known
    person p1 = { //取了别名,就不需要前面加struct关键字了
        "hello",
        1,
        165.6
    };

    //联合
    uname u1; //取了别名后,就不需要前面加struct关键字了
    u1.f = 3.13;
    printf("%f\n", u1.f);

    return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值