我只是在尝试使用 c 进行一些系统级编程。我遇到了一些模棱两可的事情,我希望这里有人可以为我解决。
如果我制作一个 char* 然后以下列方式将地址输入函数
char* string;
os_IntToString(&string, string);
void os_IntToString(int value, char* str) {
int scancode_offset = 48;
char* start = *str;
do{
int piece = value % 10;
*str++ = piece + scancode_offset;
value = value / 10;
} while(value);
*str-- = '\0';
}
那我到底要回来什么?我得到实数,一个例子是 589796。显然地址是向后的,但它是什么基本系统?
内存地址是十六进制的吧?但是该函数使用的是十进制基数为 10 的 Int?那是对的吗?是否发生了转换过程,或者我现在有一个十进制地址,我只是不知道。
任何人都可以解决这个问题。提前非常感谢。