C语言判定指针类型
[code=c]/*例如:想要实现一个简单购物、销售事件,用一个数组存储购入的动物指针(注意购入的动物顺序不是固定的)。当销售的时候如何从数组中取出指针后,判断为这个指针...
[code=c]
/*
例如:想要实现一个简单购物、销售事件,用一个数组存储购入的动物指针(注意购入的动物顺序不是固定的)。
当销售的时候如何从数组中取出指针后,判断为这个指针的类型并对其操作。
本来想再定义一个数组用来存储指针数组中每一位的指针类型,可不知道如何写
请教高手提供一个简单,便捷的方法。不想在每一次取出指针后,通过switch进行判断。
简易代码如下:
*/
/**定义三个结构体*****************/
//猪->编号
struct Pig
{
char * Code;
}pig;
//猫->年龄
struct Cat
{
char Age;
}cat;
//狗->价格
struct Dog
{
int Price;
}dog;
/**定义一个指针容器,存放结构指针**************************************/
//指针容器,这个容器只存放指针
int DongWu[3];
char DongWuCount;
/**向指针容器中装入指针***********************************/
void Buy(int pointer)
{
DongWu[DongWuCount]=pointer;
DongWuCount++;
}
//使用Buy
void BuyIn()
{
Buy(&cat);
Buy(&dog);
Buy(&pig);
}
/*从容器中检索出来的时候需要进行结构判断,有什么快捷、灵活的方法?******************************/
void SellAll()
{
char i;
for(i=0;i<sizeof(Pointer);i++)
{
u32 pointer=Pointers[i];
/*
这里需要判断 pointer,针对不同的结构,执行不同的操作,
因为DongWu数组里保存的仅仅是一个指针地址,有什么办法快速检索出 结构类型
*/
}
}
[/code] 展开
/*
例如:想要实现一个简单购物、销售事件,用一个数组存储购入的动物指针(注意购入的动物顺序不是固定的)。
当销售的时候如何从数组中取出指针后,判断为这个指针的类型并对其操作。
本来想再定义一个数组用来存储指针数组中每一位的指针类型,可不知道如何写
请教高手提供一个简单,便捷的方法。不想在每一次取出指针后,通过switch进行判断。
简易代码如下:
*/
/**定义三个结构体*****************/
//猪->编号
struct Pig
{
char * Code;
}pig;
//猫->年龄
struct Cat
{
char Age;
}cat;
//狗->价格
struct Dog
{
int Price;
}dog;
/**定义一个指针容器,存放结构指针**************************************/
//指针容器,这个容器只存放指针
int DongWu[3];
char DongWuCount;
/**向指针容器中装入指针***********************************/
void Buy(int pointer)
{
DongWu[DongWuCount]=pointer;
DongWuCount++;
}
//使用Buy
void BuyIn()
{
Buy(&cat);
Buy(&dog);
Buy(&pig);
}
/*从容器中检索出来的时候需要进行结构判断,有什么快捷、灵活的方法?******************************/
void SellAll()
{
char i;
for(i=0;i<sizeof(Pointer);i++)
{
u32 pointer=Pointers[i];
/*
这里需要判断 pointer,针对不同的结构,执行不同的操作,
因为DongWu数组里保存的仅仅是一个指针地址,有什么办法快速检索出 结构类型
*/
}
}
[/code] 展开
2个回答
2016-03-10 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询