williamhe
驱动牛犊
驱动牛犊
  • 注册日期2004-07-30
  • 最后登录2010-10-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1939回复:6

指向结构体类型指针的数组

楼主#
更多 发布于:2005-06-06 11:12
在下列程序中申明了指针数组hunam *man[20], 当我欲把man作为函数参数之前, 需要初始化这个指针数组空间, 但除了一个一个数组元素的初始化之外(比如:man[0] = getHuman(...), getHuman()返回一个human类型的指针), 我还有什么办法为这个指针数组初始化, 或是让它做为rp()函数的参数传进去而不会报错呢?

请教各位大师
 
typedef struct human {
char name[20];
favorite *favorites[2];
int  age;
}human;

int rp(human *man[])
{
  ..........
}

void main(void)
{
   human *man[20];
   ......
   rp(man);
}
maqian
驱动中牛
驱动中牛
  • 注册日期2002-08-07
  • 最后登录2014-09-16
  • 粉丝2
  • 关注1
  • 积分12分
  • 威望120点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-06-06 11:35
可否用C++?
五花马,千金裘,呼儿将出换美酒。 我不喝酒,喝可乐。
williamhe
驱动牛犊
驱动牛犊
  • 注册日期2004-07-30
  • 最后登录2010-10-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-06-06 13:13
你是说对于C的话, 非得初始化数组中的每一个指针空间吗??

C++ 支持这样的特性, 不需要初始化指针数组空间?? 还是传递引用?
maqian
驱动中牛
驱动中牛
  • 注册日期2002-08-07
  • 最后登录2014-09-16
  • 粉丝2
  • 关注1
  • 积分12分
  • 威望120点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-06-06 13:29
C++里不是类可以有构造函数么?
个人感觉:你这样写不太好。如果这样
int rp(human *man)
{
..........
}

void main(void)
{
human man[20] = {...};
......
rp(man);
}
就可以了。
或者在human中重载‘=’运算符。这样来达到“man[0] = getHuman(...), getHuman()”。
五花马,千金裘,呼儿将出换美酒。 我不喝酒,喝可乐。
williamhe
驱动牛犊
驱动牛犊
  • 注册日期2004-07-30
  • 最后登录2010-10-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-06-06 13:54
to maqian:

改用C++是不可能了, 整个工程是在linux下的一支标准C程序, 要是把rp函数改成int rp(human *man), 我估计可能可以, 但这样一来, 源程序有太多太多的地方需要修改, 麻烦啊
maqian
驱动中牛
驱动中牛
  • 注册日期2002-08-07
  • 最后登录2014-09-16
  • 粉丝2
  • 关注1
  • 积分12分
  • 威望120点
  • 贡献值0点
  • 好评度32点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-06-06 14:12
那你是不是先把指针数组hunam *man[20]初始为NULL,好在rp函数中有个判断的依据.
五花马,千金裘,呼儿将出换美酒。 我不喝酒,喝可乐。
williamhe
驱动牛犊
驱动牛犊
  • 注册日期2004-07-30
  • 最后登录2010-10-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-06-06 15:23
现在看来, 可能不是这个问题所致, 程序运行到rp函数前边, 根本不进入rp函数, 提示段地址出错
游客

返回顶部