在代码:语法解释
struct tagPaint
{
}Paint,//<<<--------------what's this (Paint)?
*pPaint;//<<<-------------and this(*pPaint)?
我是说,我宣布与类型tagPaint和指针的名字油漆变量称为pPaint到tagPaint?
谢谢。
在代码:语法解释
struct tagPaint
{
}Paint,//<<<--------------what's this (Paint)?
*pPaint;//<<<-------------and this(*pPaint)?
我是说,我宣布与类型tagPaint和指针的名字油漆变量称为pPaint到tagPaint?
谢谢。
paint是一个tagPaint类型的变量。 pPaint是一个指向tagPaint类型的指针。如果你想让他们定义类型,那么你需要:
typedef struct tagPaint {
...
} Paint, * pPaint;
但这是C用法 - 你不应该在C++中编写这样的代码。甚至在C中,定义一种隐藏事物是指针的类型被认为是不好的风格。
你声明它们都是:)
您可以在声明该类型的变量时声明并定义struct
或class
。
所以,该声明定义了三个符号:tagPaint
(其也可以用C样式称为struct tagPaint
)Paint
其是tagPaint
,和pPaint
指向一个tagPaint
。
是的,在您实际发布的代码Paint
中声明为struct tagPaint
而pPaint
是指向struct tagPaint
的指针。
您确定您没有错过struct
之前的typedef
吗?鉴于名称,定义typedef
将更加平常。
Paint
是struct tagPaint
的实例,而pPaint
是指向struct tagPaint
的指针。
该结构需要在其之前的typedef
关键字才能使用Paint
作为类型,而使用pPaint
作为类型Paint
的指针。
你正在声明他们两个。你可以声明原语一样:
int a, b, c, d;
但不是int类型你与一个指向tagPaint沿着宣布tagPaint的一个实例。
是的,我确实错过了typedef。 – 2010-04-29 19:47:10