VC编程问题:为什么在Windows中这样定义POINT?

来源:百度知道 编辑:UC知道 时间:2024/05/21 21:51:06
在Windows中的POINT结构如下定义:
typedef struct tagPOINT{
LONG x;
LONG y;
}POINT;
谁解释一下?
为什么不直接这样定义:
struct POINT{
LONG x;
LONG y;
};
我在编程调试时tagPOINT可以代替POINT!

在早期的C代码中,声明struct对象时,必须要带上struct,即形式为: struct 结构名 对象名,如:
struct tagPOINT1
{
int x;
int y;
};
struct tagPOINT1 p1;

而在C++中,则可以直接写:结构名 对象名,即:
tagPOINT1 p1;

某些程序员觉得经常多写一个struct太麻烦了,于是就发明了:
typedef struct tagPOINT
{
int x;
int y;
}POINT;

POINT p1;
这样就比原来的方式少写了一个struct,比较省事,尤其在大量使用的时候