我發現下面的代碼在我的課本:如何打印指針的指向值?
#include<stdio.h>
void disp(int *k)
{
printf("%d",*k);
}
int main()
{
int i ;
int marks[ ] = { 55, 65, 75, 56, 78, 78, 90 } ;
for (i = 0 ; i <= 6 ; i++)
disp (&marks[i]) ;
return 0;
}
}
代碼工作得很好,但我有一個關於邏輯疑惑:
我送的數組變量的地址。但在
disp
函數中,我使用一個指針變量作爲參數並打印指針的值。所以從main
函數發送的參數類型應與disp
的參數不匹配。那麼它是怎樣工作的?我試圖通過改變
disp
功能void disp(int (&k)) { printf("%d",*k); }
做相同的,但我得到一個錯誤。我應該怎樣做才能通過以地址爲參數進行工作,即
void disp(int &k)
?