C语言关于结构体数组的疑问

第一、如何在一个结构体数组中判断一个数组元素是否为空?
第二、我想删除结构体数组中的一个元素,我要怎样做才能使指定的数组元素的值变为默认值?(我是这样初始化结构体数组的: struct a ZhiGong[10]={0} )

求高手解答!谢谢!

/*时间:2011年6月23日
*@作者:风之风信子
*@功能:测试指针指向结构体数组中某一元素的功能。
*/

#include <stdio.h>
#include <string.h>

struct tree
{
int num;
char name[20];
};

struct tree fruit_tree[10]={{10001,"apple_tree"},{10002,"peach_tree"},{10003,"coconut_tree"},{10004,""},{10005,""}};

void main()
{
int judge_num;

struct tree *p_ft;

p_ft=fruit_tree;

printf("你想知道第几组水果树的信息?\n");

scanf("%d",&judge_num);

if (judge_num > 10)
{
printf("资料库共有十个树种。");
return;
}
if (0 == strlen((p_ft+judge_num-1)->name))//判定是否为空。
{
printf("资料库里没有这个树木的信息。\n");

}
else
{
printf("树木的编号是:%d\n",(p_ft+judge_num-1)->num);//用指针指向该树木的编号。

printf("树木的名字是:%s\n",(p_ft+judge_num-1)->name);//用指针指向该树木的名称。
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-18
第一,是采用查询看是否为空。
第二,那就用指针指到该数组进行初始化。追问

能说详细点吗?
源程序是怎样的?

相似回答