typedef的用法
typedef struct的用法怎么用啊,我都搞糊涂了,c++和c的struct用法有什么不同
[解决办法]
c++中的struct允许有函数,类似于class了。typedef就是起一个别名。
[解决办法]
C和C++没什么区别
首先你要明白
struct A{
int a;
};这是定义了一个A结构体,那么,以后A就是个数据类型,那么,以后你就可以用typedef A A1;(类比与typedef int DataType);那么以后A1就能当作A来使用。。。
所以其实
typedef struct A{
int a;
}A1;这样子就和上边达到一样的效果
[解决办法]
找个基础的书复习下就OK了!
[解决办法]
比如
typedef struct b{
int a;
}B
可以用类型B来代替struct b
[解决办法]
typedef 就是来换个名字
[解决办法]
typedef用来起别名
c++中struct和class功能几乎一样(唯一的区别是成员默认权限不同,但好的编程风格都要求明文标识访问权限)。c++之所以保留struct关键字只是为了和c兼容
[解决办法]
typedef是给已有类型起别名
[解决办法]
你要区分是typedef 不是typedef struct。后者不是一个整体,只是一种使用。要学习的是typedef的用法。
如果通俗的来讲,就是给内嵌类型或者自定义类型起个别名。王小二,你可以再给他起个名:小毛。那么你叫小毛还是叫王小二都是一个人。
- C/C++ code
typedef int INT_INTtypedef char CHAR_CHARtypedef struct Node{ int a;}Node;//就可以用新类型定义了INT_INT A;//==int A;CHAR_CHAR CH;//==char CH;Node myNode;//==struct Node{int a;} myNode;==struct Node myNode;
[解决办法]
楼上关于typedef struct Node的用法只是为了和c兼容。c++中在定义变量的时候可以直接Node myNode,而无需经过typedef。
[解决办法]
把《C++primer》好好看看