c - 获取变量的地址

标签 c pointers printf

<分区>

我用 C 编写了以下代码,并想检索变量 x地址:

    int x = 10;
    int *address_of_x = &x;
    printf("The address of x is: %s \n", address_of_x);
    printf("The value of x is: %i \n", *address_of_x);

在这种情况下,在我放置 %s 的地方,我没有得到任何值。如果我将它更改为 %i,我会得到一个 integer 值。我原以为地址是数字和字母的混合体。那么,% 后面的字母在这里重要吗?

在这种情况下我应该怎么做才能得到变量x的地址?

谢谢。

最佳答案

改为尝试:

printf("The address of x is: %p \n", (void*)address_of_x);

这里的%p代表指针,代表更多的这些标识符you can look here

即%x 将地址显示为一个漂亮的十六进制数

关于c - 获取变量的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24044294/

相关文章:

c - 如何在不选择的情况下检查非阻塞套接字超时

c - 为什么 printf() 播放两次?

c - 如何在 Mac 上使用 Xcode 用 C 语言设置 I/O 重定向?

c - strtol、strtoll、strtod 对任何字符都是安全的,甚至不是以 null 结尾的?

c++ - 为什么要从这个析构函数和赋值运算符中的指针中减去?

c - 将 argv 传递到函数中不起作用

pointers - 在 swift 中将 CFContextRef 转换为可变的 void 指针?

c - 用可变数量的参数构建一个字符串

c - 显示两个几乎相同的代码的不同输出

c - 在 C 中的宏中重新定义标签