如何把 指针b的指向的地址作为值 放到指针a指向的地址里
怎么把 指针b的指向的地址作为值 放到指针a指向的地址里?
char* a=(char*)malloc(10);
char* b="ddd";
//怎么写?
printf("%s\n", a);//能打印出b的地址
------解决思路----------------------
char* a=(char*)malloc(10);
char* b="ddd";
*(int*)a=(int)b;
printf("0x%x\n", *(int*)a);//能打印出b的地址
------解决思路----------------------
http://www.cplusplus.com/reference/cstring/memset/
------解决思路----------------------
中间加上:
long lbPos = (long)&(*b);
unsigned short wRemain;
a[0] = '0';
a[1] = 'x';
for(unsigned short wTemp = 0; wTemp < 8; wTemp++)
{
wRemain = lbPos % 16;
lbPos = lbPos / 16;
if (wRemain < 10)
{
a[9 - wTemp] = '0' + wRemain;
}
else
{
a[9 - wTemp] = 'a' + wRemain - 10;
}
}
不知道楼主是不是这个意思?
char* a=(char*)malloc(10);
char* b="ddd";
//怎么写?
printf("%s\n", a);//能打印出b的地址
------解决思路----------------------
char* a=(char*)malloc(10);
char* b="ddd";
*(int*)a=(int)b;
printf("0x%x\n", *(int*)a);//能打印出b的地址
------解决思路----------------------
http://www.cplusplus.com/reference/cstring/memset/
------解决思路----------------------
中间加上:
long lbPos = (long)&(*b);
unsigned short wRemain;
a[0] = '0';
a[1] = 'x';
for(unsigned short wTemp = 0; wTemp < 8; wTemp++)
{
wRemain = lbPos % 16;
lbPos = lbPos / 16;
if (wRemain < 10)
{
a[9 - wTemp] = '0' + wRemain;
}
else
{
a[9 - wTemp] = 'a' + wRemain - 10;
}
}
不知道楼主是不是这个意思?