printf输出地址的所有方法
时间: 2023-12-24 11:04:43 浏览: 57
在 C 语言中,我们可以使用以下方法输出一个变量的地址:
1. 使用 & 运算符获取变量的地址,然后使用 printf 函数输出该地址的十六进制表示:
```
int var = 10;
printf("变量 var 的地址为:%p\n", &var);
```
2. 将变量的地址强制转换成 void 类型指针,然后使用 %p 输出该指针的值:
```
int var = 10;
void *ptr = (void *)&var;
printf("变量 var 的地址为:%p\n", ptr);
```
3. 使用 %p 格式化字符,直接输出变量的地址:
```
int var = 10;
printf("变量 var 的地址为:%p\n", var);
```
注意以上方法中第三种方法不是正确的做法,其结果是不确定的,因为变量的地址和变量本身的值不同,且可能因为变量类型的不同而导致输出结果错误。因此,第一种方法是最常用的方式,也是最安全的。