4

请告诉我有什么区别

typedef struct Tcl_ObjType {
    char *name;
    Tcl_FreeInternalRepProc *freeIntRepProc;
    Tcl_DupInternalRepProc *dupIntRepProc;
    Tcl_UpdateStringProc *updateStringProc;
    Tcl_SetFromAnyProc *setFromAnyProc;
} Tcl_ObjType;

struct Tcl_ObjType {
    char *name;
    Tcl_FreeInternalRepProc *freeIntRepProc;
    Tcl_DupInternalRepProc *dupIntRepProc;
    Tcl_UpdateStringProc *updateStringProc;
    Tcl_SetFromAnyProc *setFromAnyProc;
};

我在这里看到了第一个版本:http ://www.tcl.tk/man/tcl8.5/TclLib/ObjectType.htm ,不知道为什么要这样写。

4

2 回答 2

9

对于C++,没有区别。

如果这是一个C程序并且您使用了第一个变体,您可以这样做:

Tcl_ObjType instanceOfStructure;

代替

struct Tcl_ObjType instanceOfStructure;
于 2012-04-13T14:06:21.140 回答
1

您已经为结构提供了类型定义(用外行的话来说,提供了现有类型的替代名称):

使用您的第一个示例,您可以通过以下方式使用它来引用对象/声明新对象:

Tcl_ObjType newObj;
于 2012-04-13T14:08:20.967 回答