将字符串的值(即某些变量的内存位置)存储在字符串中可以像使用printf一样完成:
char buf[128];
void *s = malloc (size);
sprintf(buf, "%p\n",s);
Run Code Online (Sandbox Code Playgroud)
要将值"保存"为整数(类型),您可以进行简单的转换:
void *s = malloc (size);
size_t int_value = (size_t)s;
Run Code Online (Sandbox Code Playgroud)
因为在c中你永远不知道你的机器地址指针长度是多少,所以这(技术上)不能保证工作正常; 对于古怪的架构或编译器来说,这两种方法都可能出错.