我一直在尝试使用指针,但遇到了这个问题。在这段代码中.. p,h 是两个指针......我已经等同于 *p = &i , h = &j ; 并打印出我的期望值是 *p 将包含地址,p 将具有指向 i 的地址,在 h 的情况下,h 将具有地址,*h 将 o/p 的值 j。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i =10;
int *p = &i;
int j =30;
int *h;
h = &j;
printf("Hello world!\n %d , %d \n" , *p , p);
printf("Hello world!\n %d , %d \n" , *h , h);
return 20;
}
但是在 p 和 i 的情况下我的 o/p 是相反的.. 为什么会这样.. 编译器如何区分这两种语句 .... *p = &i ; 和 *p = i;
o/p是这样的
Hello World!
10 , 2359060
Hello World!
30, 2359056
如果问题标题有误,我很抱歉.. 我不知道如何描述这种情况.. 任何指向类似问题的链接将不胜感激