关于typedef关键字的问题

wanghuan1983 2003-07-05 11:33:23
typedef是C中的关键字,它表示的是什么意思啊?
为什么很多时候,在声明一个变量的时候,在前面不加变量类型而是用TYPEDEF呢?
...全文
49 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
晨星 2003-07-05
  • 打赏
  • 举报
回复
爱定义啥类型就定义啥类型:
如:
typedef int PlanerArray[3][3];
就定义了一个3×3的二维整形数组类型PlanerArray,
以后使用
PlanerArray a;
就相当于
int a[3][3];

typedef void (*PointerToFunc)(int i);
定义了一个函数指针类型PointerToFunc。
后面使用:
PointerToFunc p;
就定义这种类型的一个函数指针p。

有一点倒是被你看出来了:
如果去掉类型定义的typedef,那它就是个标准的变量声明语句。——这有利于我们记忆类型定义的语法,因为只要我们会声明变量,就会定义类型了。
wanghuan1983 2003-07-05
  • 打赏
  • 举报
回复
typedef定义的类型到底是什么样的类型啊?INT CHAR还是别的什么?
晨星 2003-07-05
  • 打赏
  • 举报
回复
“为什么很多时候,在声明一个变量的时候,在前面不加变量类型而是用TYPEDEF呢?”
那不是声明一个变量,是定义一个类型。
darkhawk 2003-07-05
  • 打赏
  • 举报
回复
使用typedef通常用于对结构体命别名,
但有时候也可以用于不同环境下的统一,如有些系统下整数是16位的,有些是32位的,
可以配合ifdef等来定义变量:
如:
#ifdef 环境为16位
typedef INT32 long
#else
typedef INT32 int

然后在程序中就能使用INT32作为4个字节的整形,而无需考虑系统了
hinberta 2003-07-05
  • 打赏
  • 举报
回复
纯粹方便而已
analyser2003 2003-07-05
  • 打赏
  • 举报
回复
我觉得typedef只是声明了一个别名

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧