[問題] 傳值(址)問題?
#include<stdio.h>
void f(int *p, int a[])
{
p=a;
}
int main()
{
int a[]={1,3,5,7};
int *p=&a[1];
f(p,a);
p++;
printf("%d",*(p));
return 0;
}
我想請問一下
p指到a+1之後
經過函式f(p,a) 為什麼回到main上 p沒有變到a的開頭 而是從a+1開始
是因為p=a <-這句的生命期 只能在f() 函式裡面嗎
不是已經把位址 指到a了嗎>_<
請大大們 指教一下
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.171.49.161
推
04/03 02:10, , 1F
04/03 02:10, 1F
→
04/03 02:11, , 2F
04/03 02:11, 2F
→
04/03 02:12, , 3F
04/03 02:12, 3F
→
04/03 02:13, , 4F
04/03 02:13, 4F
→
04/03 02:36, , 5F
04/03 02:36, 5F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章