免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: systemalgorithm
打印 上一主题 下一主题

关于struct, 怎么知道一个struct里有几个元素,每个元素各是什么? [复制链接]

论坛徽章:
0
11 [报告]
发表于 2006-12-17 13:17 |只看该作者
原帖由 systemalgorithm 于 2006-12-16 23:59 发表
我们知道数组就很简单,用for 循环。
num=length(num_array);
for(i=0;i<num;i++)
{
     printf("i of num_array=\n", num_array);
}


可是对于一个结构
struct
{
   int a;
   i ...


没有这种方法,结构体是会对齐的。对齐会打断你像数组这样的连续操作

论坛徽章:
0
12 [报告]
发表于 2006-12-17 13:30 |只看该作者
有没有别的不用struct结构实现5楼的功能?

论坛徽章:
0
13 [报告]
发表于 2006-12-17 17:50 |只看该作者
up

论坛徽章:
0
14 [报告]
发表于 2006-12-18 10:45 |只看该作者
c++碰到这种情形真不好处理,用java和perl就很好处理。

论坛徽章:
0
15 [报告]
发表于 2006-12-18 11:25 |只看该作者
原帖由 systemalgorithm 于 2006-12-18 10:45 发表
c++碰到这种情形真不好处理,用java和perl就很好处理。

一直不知道你什么意思,所以也没敢多嘴。如果知道结构体类型,那它的成员不就知道了吗?也不知道5楼的做法与你的问题有啥关系?
PS:Java能做的,C++也应该能做的

论坛徽章:
0
16 [报告]
发表于 2006-12-18 12:14 |只看该作者
vector,list,map都可以
java能做的,c++基本上都可以做。

论坛徽章:
0
17 [报告]
发表于 2006-12-18 13:40 |只看该作者
就是用C++怎么实现5楼的功能???

论坛徽章:
0
18 [报告]
发表于 2006-12-18 14:16 |只看该作者
C++面向对象方面不彻底,对这些内容没有自说明的功能。
Java则提供的这样的功能。
C++要仿造这种功能,可以参看MFC的源代码,模拟实现。
这种功能有时非常有用,例如定义一个基类,实现类对数据表的映射,在基类中实现访问数据表的功能,导出类不需要做任何数据表的处理。

论坛徽章:
0
19 [报告]
发表于 2006-12-18 14:30 |只看该作者
对于这种情况很不爽,Java和Perl都很容易处理。

论坛徽章:
0
20 [报告]
发表于 2006-12-19 12:13 |只看该作者
原帖由 assiss 于 2006-12-17 09:18 发表
用数组+指针+半面向对象(C)或 集合+指针+CLASS(C++)。
具体可以参考GTK+的代码,这里举一个简单的例子:
[code]
      1 #include <stdio.h>
      2 #include <stdlib.h>
      3 enum ...

了解了一点,多谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP