C语言typedef的用法

1.typedef的意义

  • typedef用于给一个已经存在的数据类型重命名
  • typedef 本质上不能产生新的类型
  • typedef重命名的类型:
    • 可以在typedef语句之后定义
    • 不能被unsigned和signed修饰(如unsigned INT32是不被允许的)

用法︰

typedef type new_name;

使用示例:

#include <stdio.h>

typedef int Int32;

struct _tag_point
{
    int x;
    int y;
};

typedef struct _tag_point Point;

//下面这种写法相当于把上面的两部分代码进行合并
//声明结构体并重命名为SoftArray,这种写法我们最为常用
typedef struct
{
    int length;
    int array[];
} SoftArray; 

//这里编译器只认为,看到ListNode就是为_tag_list_node 类型,其他的不管,也没有说要先定义该结构体类型才行
typedef struct _tag_list_node ListNode;
struct _tag_list_node
{
    ListNode* next;
};

int main()
{
    Int32 i = -100;        // int 
    //unsigned Int32 ii = 0;
    Point p;               // struct _tag_point
    SoftArray* sa = NULL;   
    ListNode* node = NULL; // struct _tag_list_node*
    
    return 0;
}

小结一下:
typedef本质上不是产生一个新的类型,而是给一个已有的类型,包括基本类型和结构体等一个新的名字,重命名一个已有的类型的名字而已。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值