Re: [考題] 計算機概論
: void f(int *p,int a[]) { p=a;} //*(p)=1
: void main()
: {
: int a[]={1,3,5,7};
: int *p=&a[1];
: f(p,a);
進去之後無痛出來,因為CALL BY VALUE(如綠色箭頭)
: //*(p)=3
: p++;
+1故指標往後指(如紅色箭頭)
: cout<<*(p);
: //*(p)=5
: }
: 想法: p不是指標嗎?
: 為什麼離開 f function 後
: p值仍未改? call by value?
圖解一下:
P a[0] a[1] a[2] a[3]
--------------------------------------
儲存的內容 │ 1 3 5 7
│ ↑ ↑
└────────┘───┘
有錯請指證@@"
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.35.82.122
→
06/13 01:05, , 1F
06/13 01:05, 1F
討論串 (同標題文章)