iT邦幫忙

0

c語言-指標與函數之間的關係

匿名 2012-03-21 11:11:023297 瀏覽
  • 分享至 

  • xImage

最近學了指標後,看到*跟&就會覺得是取**(內容)跟取(位址)**#include <stdio.h>
若位照下面的程式來說的話,他的*跟&是我所想的沒錯嗎?

這一題是在講指標跟函數之間的關係,也講到了Call by value跟Call by reference,
請問,下圖程式內,那裡有講到這兩個部份了??雖然我答案有弄出來,但是觀念上不是很懂!
#include <stdlib.h>

change(x,y)
int *x,*y;{
int temp;
temp=*x;
*x=*y;
*y=temp;
}

int main(int argc, char *argv[])
{
int m=3,n=4;
printf("m=%d n=%d \n\n",m,n);
printf("m=%d n=%d \n\n",m,n);

change(&m,&n);
printf("m=%d n=%d \n",m,n);

system("PAUSE");
return 0;
}

看更多先前的討論...收起先前的討論...
fillano iT邦超人 1 級 ‧ 2012-03-21 11:23:44 檢舉
能不能不要匿名來問阿?最近很多C的問題,都是同一個人嗎?
請多多包涵
C程式設計快要上完了

稍息之後
上場的是資料結構與演算法

有人回答
自然就會有人繼續問

鐵人賽之
C程式設計之連問30題
冷
wiseguy iT邦超人 1 級 ‧ 2012-03-21 14:03:54 檢舉
如果樓主是在校學生,這些超級基本的問題,為什麼不在課堂問老師,或是請教懂的同學就好了?這都幾句話就可以釐清的概念,根本不必浪費時間在網路等人回應啊。
fillano iT邦超人 1 級 ‧ 2012-03-21 16:24:49 檢舉
我就是覺得問的問題是有「進度」的...問也無妨啦,只是用匿名就會覺得怪怪的
fillano iT邦超人 1 級 ‧ 2012-03-21 16:26:28 檢舉
而且他還會回應...
總裁 iT邦好手 1 級 ‧ 2012-03-21 16:30:27 檢舉
難道是老師在課堂上被問倒了,然後來這裡找槍手嗎??...汗
總裁 iT邦好手 1 級 ‧ 2012-03-21 16:37:01 檢舉
因為我以前也在學校教過C,覺得這是個易學難精的語言(是說有哪個語言不是這樣呀),所以才陪她玩玩,看來它如果不交出簽名照,費老大是不會陪他玩了...
(以上的她/它/他我是故意打的,因為it用匿名,所以我也不知該用哪一個暈)
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

6
krarm
iT邦好手 1 級 ‧ 2012-03-22 20:14:59
最佳解答

Call by value

嚴格說起來,C只提供call by value,
因為指標就是整數變數,
16位元的指標是16位元的整數變數,
32位元的指標是32位元的整數變數,
64位元的指標是64位元的整數變數,
傳指標只是傳一個整數過去而已,嚴格說起來,也只是call by value。
以上只是我個人的一種想法而已,不代表教科書立場。

2
總裁
iT邦好手 1 級 ‧ 2012-03-21 16:40:23

請套用之前門牌的例子類推即可。

我要發表回答

立即登入回答