typedef介绍

1、typedef是什么?

typedef是C中的类似于extern/static的一个关键字,用于为一种类型引入一个新的名字。并不会分配内存。

2、typedef常见用法?

1)

typedef int tni;

tni a;   ==int a;

2)

typedef char ch[5];

ch s;  == char s[5];

3)

typedef int *p;

p k;   == int *k;

4) typedef struct student

{

  int num;

  char name[10];

} std,*pstd;

std std1;  == struct student std1;

pstd std2;  == struct student *std2;

3、typedef与宏define的区别?

1)typedef是一种彻底的封装类型,--在声明它之后不能往里面加别的东西,即不能用其他类型说明符扩展,而宏define则可以。

如:typedef int *apple;  #define peach int*;

unsigned apple i;//错误的 ==short int i;明显有问题。

unsigned peach i;//正确的   用宏#define声明的相当于简单的粘贴复制,==unsigned int i;

2)在连续几个变量的声明中#define定义的类型不能保证所有的变量为同种类型。

如 apple i,j;  ==int *i;int *j; 

peach i,j; int* i,j;==int *i;int j;

原文地址:https://www.cnblogs.com/defen/p/6666222.html