获取变量的地址

时间:2014-06-04 17:54:19

标签: 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的地址?

感谢。

2 个答案:

答案 0 :(得分:2)

尝试改为:

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

%p这里代表指针,对于其中一些标识符you can look here

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

答案 1 :(得分:1)

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