|
以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 C/C++编程思想 』 (http://bbs.xml.org.cn/list.asp?boardid=61) ---- 在C和C++中struct和typedef struct的区别 (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=41942) |
|
-- 作者:一分之千 -- 发布时间:1/4/2007 8:33:00 PM -- 在C和C++中struct和typedef struct的区别 在C和C++有三种定义结构的方法。
typedef struct {
int data;
int text;
} S1;
// 这种方法可以在c或者c++中定义一个S1结构
int data;
int text;
};
int data;
int text;
} S3;
{ S1 mine1; // OK , S1 是一个类型
S2 mine2; // OK, S2 是一个类型
S3 mine3; // OK, S3 不是一个类型
S2.data = 5; // ERROR S2 是一个类型
S3.data = 5; // OK S3是一个变量
}
另外,对与在结构中定义结构本身的变量也有几种写法
S6* ptr;
};
// 这种写法只能在C++中使用
S7* ptr;
} S7;
// 这是一种在C和C++中都是错误的定义
typedef struct tagS8{
tagS8 * ptr;
} S8;
|
|
-- 作者:JuliusTing -- 发布时间:6/23/2007 11:09:00 PM -- /*************************************************************/ 楼主曰: struct S2 { int data; int text; }; // 这种定义方式只能在C++中使用,而如果用在C中,那么编译器会报错 /*************************************************************/ 楼主这句话有问题
|
|
-- 作者:JuliusTing -- 发布时间:6/23/2007 11:18:00 PM -- /******************************************/ 楼主又曰: struct S6 {
typedef struct |
|
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
46.875ms |