以前看apue中定义信号句柄使用typedef颇为费解,今天作c++pl的习题,突然明白原来typedef的语义是把一个标志符定义为一个类型,这个类型的语义就是这个标志符本身的语义。 举例: 简单的例子:typedef unsigned int ui;定义了一个类型ui,把typedef去掉剩下的unsigned int ui表示一个无符号整型的变量ui,加上typedef,ui变成了一个类型,这个类型与unsigned int等同。 复杂些的例子:typedef int *(*p)[7];定义了一个类型p,同样吧typedef去掉剩下的int *(*p)[7]表示一个变量p,这个变量是个指针,这个指针指向一个有7个元素的数组,这个数组存放的是指向int的指针,这么拉拉杂杂的一堆,用英文标识就是a pointer to an array of 7 pointers to int,加上typedef,p就变成了一个类型,这个类型就是pointer to an array of 7 pointers to int.
阅读(978) | 评论(0) | 转发(0) |