各位大佬你們好,其實標題的這句話我知道是正確的,但是我現在突然思路一下受到了阻塞就是在寫下面的這個程式的時候我發現如果我對指標名直接輸出的話輸出的值并不是指標指向的變數的地址,我不知道是為什么。麻煩各位大佬給我解一下惑,感激不盡
#include<stdio.h>
int main()
{
int a;
int *pa=&a;
printf("請輸入一個數\n");
scanf("%d",pa);
printf("指標名的地址:%p\n",&pa);
printf("指標名的值 :%lx\n",&pa);
printf("指標的地址:%p\n",*pa);
printf("指標的值 :%d\n",*pa);
printf("變數的地址:%p\n",a);
printf("變數的值 :%d",a);
return 0;
}
uj5u.com熱心網友回復:
&是取地址。*是取地址里的值。pa 是 指標,所以&pa 就是二級指標,而不是 pa 。
uj5u.com熱心網友回復:
取值符和取址符我都明白,但是我把&pa改為pa輸出的結果還是一樣的。我就對這個有點迷惑到了。uj5u.com熱心網友回復:
int a;
int *pa = &a;
printf("請輸入一個數\n");
scanf("%d", pa);
printf("指標名的地址:%p\n", pa);
printf("指標名的值 :%lx\n", *pa);
printf("指標的地址:%p\n", pa);
printf("指標的值 :%d\n", *pa);
printf("變數的地址:%p\n", &a);
printf("變數的值 :%d", a);
return 0;
uj5u.com熱心網友回復:
#include<stdio.h>
int main()
{
int a;
int *pa=&a;
printf("請輸入一個數\n");
scanf("%d",pa);
printf("指標名的地址:%p\n",&pa);
printf("指標名的值 :%lx\n",pa);
printf("指標的地址:%p\n",&pa);
printf("指標的值 :%d\n",pa);
printf("指標指向變數的值 :%d\n",*pa);
printf("變數的地址:%p\n",&a);
printf("變數的值 :%d",a);
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/50744.html
標籤:C語言
