为什么c语言中有个“typedef int *******”的啊?既然有了int,为什么不直接用int算了啊?不解!

来源:百度知道 编辑:UC知道 时间:2024/05/25 18:46:18

typedef int *******

-----------------------
意义是很大的。主要作用是给已定义的类型取的别名,增加程序的可读性。
给个例子:
int x;//x,其实我想表示的是我的身高。

int GetHeigh(int x);//我在函数中想引入的是身高参数。
typedef int Heigh;
Heigh GetHeigh(Heigh x);//此时,就很明了了,想引入的是身高参数。

定义不同的数据类型名称是为了程序的可读性.
而且一旦你需要将类型变换比如使用double型的了,只要写:
typedef double *******;
这样就避免了多处更改的麻烦,这一点多大程序尤其重要!!

有些人就是烧包呵呵 很多人封装的库里面都有自己把常用数据类型定义的稀奇古怪的.

C中只有有限数量的标准数据类型,但某些数据类型其实能有多种功能,比如指针其实就是int、句柄handle也是int。
把int定义成别的类型最大的用处就是增强程序的可读性,让人在定义变量的时候就知道它是专门做什么用的,再者是为了规范代码。比如一个函数返回的是指针类型,你就不能用整形去接收返回值而必须用一个指针变量去接收。当然通过强制类型转换可以,但是起码可以提醒,你的逻辑已经乱了。

比如我定义了链表类模板,又定义了迭代器,我可以这样使用迭代器:
list<int>::iterator p;
每次定义都要这样很麻烦,于是我先这样声明:
typedef list<int>::iterator _ptr;
这样我再定义迭代器实例就方便啦.
_ptr p;
_ptr q;
...