读书人

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

发布时间: 2012-12-30 10:43:15 作者: rapoo

如何把一个指针指向“另一个不同类型的指针指向的内容”
比如先定义了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两次,有问题吧。

读书人网 >C语言

热点推荐