以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  求詛:誰能幫我講一下 typedef的用法  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=40402)


--  作者:gong168wei
--  发布时间:11/23/2006 9:28:00 AM

--  求詛:誰能幫我講一下 typedef的用法
小妹是初學者,對typedef的用法不太理解,誰能幫我講一下 typedef的用法,我這有個小例子,請大家幫我講解一下,謝謝了
typedef enum{
             UP=0,
              DOWN,
              LEFT,
              RIGHT,
              NUM_EVENTS}NAV_DATA_INDEX;
這裡typedef的主要功能是什麽
--  作者:卷积内核
--  发布时间:11/23/2006 3:54:00 PM

--  
A typedef declaration introduces a name that, within its scope, becomes a synonym for the type given by the type-declaration portion of the declaration.
You can use typedef declarations to construct shorter or more meaningful names for types already defined by the language or for types that you have declared. Typedef names allow you to encapsulate implementation details that may change.

typedef struct mystructtag
{
    int   i;
    double f;
} mystruct;

int main()
{
    mystruct ms;
    ms.i = 10;
    ms.f = 0.99;
    printf_s("%d   %f\n", ms.i, ms.f);
}

[此贴子已经被作者于2006-11-23 17:33:08编辑过]

--  作者:fangel2000
--  发布时间:11/24/2006 7:51:00 PM

--  
呵呵,以上举的例子中就是将
struct mystructtag
{
    int   i;
    double f;
}
定义为 mystruct
然后对 mystruct的操作其实就是对结构体的操作,可以调用里面的成员变量i和f
--  作者:flyhigher
--  发布时间:12/9/2006 6:38:00 PM

--  
就是说NAV_DATA_INDEX作为一个类型使用,它是一个union类型,定义如下:
enum{
             UP=0,
              DOWN,
              LEFT,
              RIGHT,
              NUM_EVENTS};
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
54.688ms