程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> c語言-關於C語言指針數組的問題

c語言-關於C語言指針數組的問題

編輯:編程綜合問答
關於C語言指針數組的問題

#include

int main(){
int all[5];
int *putin();
int *p=putin();
for(int k=0;k<5;k++,p++)
printf("%d ",*p);

return 0;
}

int *putin(){
int array[5];
printf("please enter 5 numbers:");
for(int i = 0;i<5;i++){
scanf("%d",&array[i]);
}
return(array);
}

 代碼如上圖,輸出結果裡有數值有地址,無法理解哪裡的邏輯有問題,請指教,萬分感謝!

最佳回答:


putin高數裡面的array數組是局部變量,內存是臨時分配的,函數調用完了,內存就被釋放掉,其中保存的數據也會改變,也就是說,指針p雖然依然能指到那個地址,但內容已經不是你輸入的那些了。你可以將主函數裡定義的all數組通過參數傳遞但putin函數中,然後輸入數據。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved