| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1076 人关注过本帖
标题:该如何创建结构体?
只看楼主 加入收藏
ba_wang_mao
Rank: 2
来 自:成都理工大学
等 级:论坛游民
帖 子:297
专家分:27
注 册:2006-11-7
收藏
 问题点数:0 回复次数:1 
该如何创建结构体?
我现在想描述两种及两种心上的商品,需要设定结构体
1、结构体中有指向参数中文名称 首地址的指针(双重指针)
2、结构体中有指向参数值    首地址的指针
3、结构体中有指向参数单位名称 首地址的指针(双重指针)

/////////////////////
第一种商品
/////////////////////
char *chinese_name1[5] = //设定参数的中文名称
"拖拉机",
"推土机",
"小汽车",
"吉普车",
"公共车"};
char *unit1_name1[5] = { // 单位名称
" 辆",
" 辆",
" 辆",
" 辆",
" 辆"};
int number_array1[5] = {1,2,3,4,5}; //设定的参数值

/////////////////////
第二种商品
/////////////////////
char *CHINESE_NAME2[3] = //设定参数的中文名称
"钢笔",
"铅笔",
"笔记本"};
char *UNIT_NAME2[3] = { // 单位名称
" 支",
" 支",
" 本"};
int NUMBER_ARRAY2[3] = {2,2,5}; //设定的参数值

我是如下定义结构体的
typedef struct set_struct
{
char **chinese_name; // 参数的中文名称
int *number; // 参数值
char **unit; // 单位
}SET_STRUCT,*SET_STRUCT_PTR;

SET_STRUCT AA[5];
SET_STRUCT BB[3];
for (i = 0; i < 5; i++)
{
AA[i].name = chinese_name1;//指向指针的指针
AA[i].unit = unit1_name1;//指向指针的指针
AA[i].number = number_array1;//指向指针
}
for (i = 0; i < 3; i++)
{
BB[i].name = CHINESE_NAME2;//指向指针的指针
BB[i].unit = UNIT_NAME2;//指向指针的指针
BB[i].number = NUMBER_ARRAY2;//指向指针
}
我定义的结构体也能完成需要,但是太罗嗦,因为第一种、第二种商品
的中文名称及单位名称只需要指一次首地址即可,无需每次赋值时都指,
很容易造成混淆,有没有更好的方法?

如果设定第一种商品时,弹出的是一个下拉列表,又需要指向一个字符串中文名称数组,而设定第二种商品时,只是简单的修改参数值,这种情况下需要使用“联合体”,又该如何描述呢?



搜索更多相关主题的帖子: 结构体 
2007-10-31 10:22
jig
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
帖 子:530
专家分:242
注 册:2005-12-27
收藏
得分:0 
LZ是规定一定要指针吗?

个人网站 -  http://.h001.
2007-11-02 09:54
快速回复:该如何创建结构体?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.011268 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved