二十二、C typedef

一、引言

1.1 定义

在C语言中,可以使用关键字typedef为类型取一个新名字

  • 代码实现:
    #include <stdio.h>
    #include <string.h>
    
    typedef struct test1
    {
        char name[30];
        int age;
    }People;
    
    void main(){
        People p;
        strcpy(p.name,"xiaomage");
        p.age = 20;
        printf("姓名:%s\n年龄:%d",p.name,p.age);
    }
    
  • 运行结果:
    姓名:xiaomage
    年龄:20
    

二、typedef与#define的区别

  • typedef仅限于为类型定义别名,#define不仅可以为类型定义别名,还可以为数值定义别名
  • #define可以使用其他类型说明符对宏类型进行扩展,typedef不可以
  • 在进行连续定义几个变量时,typedef可以保证变量类型相等,#define不可以
  • 代码实现:
    #include <stdio.h>
    #include <string.h>
    
    #define TRUE 1  //#define可以直接给数值取别名
    #define INT int
    unsigned INT k; //对INT进行扩展
    INT i = 0;
    
    #define P int *
    P p1,p2;    //p1,p2类型不同,宏展开后为:int *p1,p2
    typedef int * P_1;
    P_1 p3,p4;  //p3,p4类型相同
    
    typedef int INT_1;  //注意格式,和#define正好相反
    INT_1 j = 2;
    
    // typedef 0 FALSE  //typedef不可以给数值取别名
    
    
    void main(){
        printf("i=%d\n",i);
        printf("j=%d\n",j);
        printf("TURE=%d\n",TRUE);
        
    }
    
  • 运行结果:
    i=0
    j=2
    TURE=1
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值