typedef用法-C语言

311 阅读1分钟

typedef 用法一句话总结———给数据的类型定义别名

(1)我们熟悉的int类型   定义一个变量, 如int  a;

突然,我觉得 int 有点长,于是把int改为单个字母    T;      如 typedef int  T;
T  a   =   int  a;

#include <stdio.h>
typedef int T;
int main()
{
	int a =100;
	printf("a = %d\n",a);
	printf("%d\n",sizeof(a));
	
	T b=10;
	printf("b = %d\n", b);
	printf("%d\n",sizeof(b));
	
   return 0;
}

运行结果:

a = 10  
4  
b = 10  
4

(2)为基本数据类型定义新的类型名

比如跨平台时,有的机子不支持long double,但有需要高精度的一个类型参与计算,那就可以进行如下定义

typedef long double ACCURACY;//当跨平台时,只需修改long double的类型就可以了,如下
typedef double ACCURACY;

(3)为指针定义简洁的名称

#include <stdio.h>
  
typedef int *B;

int main()
{
    B bb;
    *bb=12;
    printf("bb=%p\n",bb);
    printf("*bb=%d\n",*bb);
    return 0;
}
运行结果:
bb=0x100f34000
*bb=12

(4)为数组定义简洁的类型名称

与为基本数据类型定义新的别名方法一样,示例代码如下所示:

// 定义一个int类型长度为100的数据类型别名
typedef int INT_ARRAY_100[100];  
INT_ARRAY_100 arr;

(5)为结构体定义简洁的类型名称

#include<stdio.h>
//结构体
typedef struct node
{
   int data;
   struct node *next;
 } * Pnode,Node;
 Pnode pointer_n;
 Node n;

PNode  等价于   struct  node *  ;
Node  等价于   struct  node;