首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

怎么把一个指针指向“另一个不同类型的指针指向的内容”

2012-12-30 
如何把一个指针指向“另一个不同类型的指针指向的内容”比如先定义了int*pB再用强制转换,char *pT(char*)pB

如何把一个指针指向“另一个不同类型的指针指向的内容”
比如先定义了int*pB
再用强制转换,char *pT=(char*)pB;即可

现在是我自己定义的结构
struct UINT1024{
unsigned char pNo[128];
};
struct UINT4096{
unsigned int pNo[128];
};

先定义了UINT4096*pB
就不可以强制转换UINT1024*pT=(UINT1024*)pB;(试了会被中止)

在结构里也不能写指针,怎么能让pT指向“pB指向的内容”呢?
[解决办法]
楼主是什么情况,我这边试了是可以的。

#include<stdio.h>

typedef struct UINT1024{
  unsigned char pNo[128];
}UINT1024;

typedef struct UINT4096{
  unsigned int pNo[128];
}UINT4096;

int main()
{
   UINT4096 *pi ;
   UINT1024 *pu = (UINT1024 *)pi;

   //pu = (UINT1024 *)pi;
   return 0;
}

[解决办法]
   free(pi);
   free(pu);

楼主free两次,有问题吧。

热点排行