如何将地址int转换为char*string
我有一个内存地址整数,如0x80480ac,我想给它分配一个字符*,如下所示:如何将地址int转换为char*string,c,memory-address,C,Memory Address,我有一个内存地址整数,如0x80480ac,我想给它分配一个字符*,如下所示: char *address="\x08\x04\x80\xac"; 我该怎么做?我相信您正在寻找: char * address = (char *)0x080480ac; 如果您只想将其作为字符串使用,与“hello,world”没有什么不同,那么@haccks是正确的,但是如果出于某种原因您确实需要地址指向内存位置0x800480ac(假设它是一个设备寄存器或其他东西),那么请查看我的答案。我想将其视为字节和
char *address="\x08\x04\x80\xac";
我该怎么做?我相信您正在寻找:
char * address = (char *)0x080480ac;
如果您只想将其作为字符串使用,与“hello,world”没有什么不同,那么@haccks是正确的,但是如果出于某种原因您确实需要地址指向内存位置0x800480ac(假设它是一个设备寄存器或其他东西),那么请查看我的答案。我想将其视为字节和字符的字节识别数组不一定相等,如果我正确理解你,那么你所拥有的是正确的。例如
地址[0]==0x08
,地址[1]==0x04
等等。问题在于“char”的签名性是由实现定义的,所以您可能希望是特定的,signed char*
或unsigned char*