在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,比较省事,尤其在大量使用的时候