struct在C和C++中用法区别。
本帖最后由 lefter1986 于 2013-03-22 10:56:17 编辑 经常在C代码中看到这样的用法:
typedef struct Point2d
{
double x;
double y;
}POINT2D
而C++中则可以这样子用:
struct Point2d
{
double x;
double y;
}
请问C采用typedef的方式的原因是?
[解决办法]
C里面也可以这么写
struct Point2d
{
double x;
double y;
}
但定义变量的时候必须加上struct
struct Point2d a;
有typedef的话直接POINT2D a;就行了
[解决办法]
typdef struct tagXXX
{
}XXX;
//tagXXX是一个tag, XXX是一类型
//在C中, 使用tag 必须加上 类型关键字struct
//在C++中,tag同时也是类型,这是为了使用方便。算是一个改进。