• / 14
  • 下载费用:10 金币  

C C++中typedef struct和struct的用法.doc

关 键 词:
C C++中typedef struct和struct的用法.doc
资源描述:
C/C++中 typedef struct 和 struct 的用法xml 代码1. 由于对 typedef 理解不够,因此从网上摘录了一些资料,整理如下: 2. 3. C/C++中 typedef struct 和 struct 的用法 4. 5. struct _x1 { .}x1; 和 typedef struct _x2{ .} x2; 有什么不同? 6. 7. 8. 其实, 前者是定义了类_x1 和_x1 的对象实例 x1, 后者是定义了类_x2和_x2 的类别名 x2 , 9. 10.所以它们在使用过程中是有取别的.请看实例 1. 11. 12. [知识点] 13. 14.结构也是一种数据类型, 可以使用结构变量, 因此, 象其它 类型的变量一样, 在使用结构变量时要先对其定义。 15. 16. 定义结构变量的一般格式为: 17. 18. struct 结构名 19. 20. { 21. 22. 类型 变量名; 23. 24. 类型 变量名; 25. 26. . 27. 28. } 结构变量; 29. 30. 结构名是结构的标识符不是变量名。 31. 32. 33. 34.另一种常用格式为: 35. 36. 37. 38. typedef struct 结构名 39. 40. { 41. 42. 类型 变量名; 43. 44. 类型 变量名; 45. 46. . 47. 48. } 结构别名; 49. 50. 51. 52. 53. 54.另外注意: 在 C 中,struct 不能包含函数。在 C++中,对 struct 进行了扩展,可以包含函数。 55. 56. 57. 58.====================================================================== 59. 60. 61. 62.实例 1: struct.cpp 63. 64. 65. 66.#include 67. 68.using namespace std; 69. 70.typedef struct _point{ 71. 72. int x; 73. 74. int y; 75. 76. }point; //定义类,给类一个别名 77. 78. 79. 80.struct _hello{ 81. 82. int x,y; 83. 84. } hello; //同时定义类和对象 85. 86. 87. 88. 89. 90.int main() 91. 92.{ 93. 94. point pt1; 95. 96. pt1.x = 2; 97. 98. pt1.y = 5; 99. 100. cout vs; 333. 334. typedef 还可以掩饰符合类型,如指针和数组。例如,你不用象下面这样重复定义有 81 个字符元素的数组:char line[81]; 335. 336. char text[81]; 337. 338. 定义一个 typedef,每当要用到相同类型和大小的数组时,可以这样:typedef char Line[81]; 339. 340. Line text, secondline; 341. 342. getline(text); 343. 344. 同样,可以象下面这样隐藏指针语法:typedef char * pstr; 345. 346. int mystrcmp(pstr, pstr); 347. 348. 这里将带我们到达第一个 typedef 陷阱。标准函数 strcmp()有两个‘const char *'类型的参数。因此,它可能会误导人们象下面这样声明 mystrcmp():int mystrcmp(const pstr, const pstr); 349. 350. 这是错误的,按照顺序,‘const pstr'被解释为‘char * const'(一个指向 char 的常量指针),而不是‘const char *'(指向常量 char 的指针)。这个问题很容易解决:typedef const char * cpstr; 351. 352. int mystrcmp(cpstr, cpstr); // 现在是正
展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:C C++中typedef struct和struct的用法.doc
链接地址:https://www.weizhuannet.com/p-9852608.html
微传网是一个办公文档、学习资料下载的在线文档分享平台!

微传网博客

网站资源均来自网络,如有侵权,请联系客服删除!

 网站客服QQ:80879498  会员QQ群:727456886

copyright@ 2018-2028 微传网络工作室版权所有

     经营许可证编号:冀ICP备18006529号-1 ,公安局备案号:13028102000124

收起
展开