怎么把一个指针指向“另一个不同类型的指针指向的内容”
如何把一个指针指向“另一个不同类型的指针指向的内容”
比如先定义了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指向的内容”呢?
------解决方案--------------------
楼主是什么情况,我这边试了是可以的。
------解决方案--------------------
free(pi);
free(pu);
楼主free两次,有问题吧。
比如先定义了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两次,有问题吧。