免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 7157 | 回复: 11
打印 上一主题 下一主题

结构体嵌套三层以上 会不会很难看? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-10-30 14:53 |只看该作者 |倒序浏览
想听听大牛们对 结构体嵌套 模拟继承有什么见解

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
2 [报告]
发表于 2010-10-30 15:02 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
3 [报告]
发表于 2010-10-30 15:11 |只看该作者
问题是仿问的时候, 指针指的好长, 我觉得比较难看

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
4 [报告]
发表于 2010-10-30 15:19 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
5 [报告]
发表于 2010-10-30 15:36 |只看该作者
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

typedef signed char byte;
typedef unsigned char ubyte;

typedef struct bgOneDimension
{
    short len;
    byte* data;
}BGOneDimension;
typedef BGOneDimension* bgOneDimension;

typedef struct bgTwoDimension
{
    short len2;
    bgOneDimension* oneDim;
}BGTwoDimension;

typedef BGTwoDimension* bgTwoDimension;

typedef struct bgThreeDimension
{
    short len3;
    bgTwoDimension* twoDim;

}BGThreeDimension;
typedef BGThreeDimension* bgThreeDimension;




typedef struct ggOneDimension
{
    short len;
    byte* data;
}GGOneDimension;
typedef GGOneDimension* ggOneDimension;

typedef struct ggTwoDimension
{
    short len2;
    short* len;
    byte** data;
}GGTwoDimension;
typedef GGTwoDimension* ggTwoDimension;

typedef struct ggThreeDimension
{
    short len3;
    short* len2;
    short** len;
    byte*** data;
}GGThreeDimension;
typedef GGThreeDimension* ggThreeDimension;


当时和朋友讨论这两个声明哪个好一点, 我朋友也说第一个好, 当时他也说定义一个变量 中转下,
结构也清晰的。

看来我的 水平太差, 以至于这么的没有品味, 这个问题我纠结了好长时间了, 看来要写好面向对像, 必需能够接受 结构体嵌套。

论坛徽章:
0
6 [报告]
发表于 2010-10-30 16:39 |只看该作者
”你知道自己在做什么,三层就够了,如果你不知道自己在做什么,十七层也没用……“

论坛徽章:
0
7 [报告]
发表于 2010-10-30 16:45 |只看该作者
”你知道自己在做什么,三层就够了,如果你不知道自己在做什么,十七层也没用……“
ypyf3000 发表于 2010-10-30 16:39



  很有见解

论坛徽章:
1
CU十二周年纪念徽章
日期:2013-10-24 15:41:34
8 [报告]
发表于 2010-10-30 20:38 |只看该作者
内核中嵌套多层也很常见啊。

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
9 [报告]
发表于 2010-10-30 20:40 |只看该作者
开需要吧,关键是你访问的时候能不能头脑清醒。

论坛徽章:
0
10 [报告]
发表于 2010-10-31 00:04 |只看该作者
  1. typedef struct bgOneDimension
  2. {
  3.     short len;
  4.     byte* data;
  5. }BGOneDimension;
  6. typedef BGOneDimension* bgOneDimension;
复制代码
能不能不把 结构体的 类型名 、typedef的类型名、声明的结构体类型变量,都搞成一个名字?

你自己能分清么?
  1. typedef struct _bgOneDimension
  2. {
  3.     short len;
  4.     byte* data;
  5. }BGOneDimension;
  6. BGOneDimension* p;
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP