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]
展开
 我来答
育知同创教育
2016-03-10 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
展开全部

  判断一个指针类型:把指针声明语句里面的指针名字去掉,剩下的部分就是这个指针的类型。

  

百度网友44b2127
2015-02-12 · TA获得超过855个赞
知道小有建树答主
回答量:630
采纳率:72%
帮助的人:233万
展开全部
  1. 你自己在类里加识别记号。(比如每个类里加个int classtypeid;)

  2. 使用RTTI技术,用typeid来识别。详细的可以在百度上搜“c++ typeid"或“RTTI",文章很多。

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式