typedef

参考《C深度剖析》 

typedef基本用法

 typedef struct student 

 { 

 //code 

 }Stu_st,*Stu_pst;//命名规则请参考本章前面部分 

 A),struct student stu1;和Stu_st stu1;没有区别。 

 B),struct student *stu2;和Stu_pst stu2;和Stu_st *stu2;没有区别。

 C),const Stu_pst stu3;

 D),Stu_pst const stu4;

 C),D)里const修饰的分别是stu3,stu4这2个指针。

 const修饰谁都时候完全可以将数据类型名视而不见。

 typedef与#define

 #define是在预处理实现简单替换的。
 typedef是在编译时处理数据类型的,和普通的变量定义一样。

 E),#define INT32 int
           unsigned INT32 i = 10;
 F),typedef int int32;
           unsigned int32 j = 10;//出错

 再举例:

 #define int_ptr int*

 int_ptr a,b;

 typedef char* char_ptr;

 char_ptr c,d;

 a是int*型,b是int型;

 c和d都是char*型;

 typedef更深入的应用

  typedef int (*MYFUN)(int); //MYFUN是一个类型,该类型的变量是一个指向函数的指针,该函数有两个整形形参,返回值为整形。

  用法:

  1. MYFUN FUN;
  2. char glFun(int a){ return;}   
  3. void main()   
  4. {   
  5.     FUN = glFun;   
  6.     (*FUN )(2);   

   typedef int vector[10]; //vector是一种类型,该类型的变量是一个含有10个整型元素的数组。
  使用:
  vector vector1;  //vector1是一个含有10个整型元素的数组。
  也可以是typedef int vector[10] array;使用方法为array vector1;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值