变量i的地址

问题描述 投票:0回答:1

我刚刚开始学习C编程中的指针,我遇到了%p,%u格式说明符,每当我使用%u时它都会显示警告,并且总是更改输出,当我使用%p时它会显示变量的地址我,但总是改变它,为什么会发生这种情况任何人都可以解释吗?

#include<stdio.h>
int main()
{
    int i=3;
    int *j;
    j=&i;
    printf("Address of i= %p\n",&i);
    printf("Address of i=%p\n",&j);
}

请告诉我,我刚刚开始学习 C 和编程,例如,除了 html 之外,我实际上没有任何编码经验

c pointers
1个回答
0
投票

您将

i
的地址(即
&i
)分配给变量
j
。因此,
&i
j
应该具有相同的值:

    printf("Address of i= %p\n", (void *) &i);
    printf("Address of i=%p\n", (void *) j);

另一方面,表达式

&j
是变量j
地址
,而不是它的值。由于它的地址与
i
不同,因此
&i
&j
应该不同。

© www.soinside.com 2019 - 2024. All rights reserved.