|
藍森林 http://www.lslnet.com 2006年6月6日 10:18
在一個程序中非main函數的其餘函數的參數的內存空間放哪在??
我在這裡再說一個問題見下列:
#include<stdio.h>;
#include<stdlib.h>;
main()
{int *p,i=0;
if(i==0)
{int t=5;
p=&
}
......... /*其他的處理*/
}
我想說的是,在這裡變量t所指的空間在p=&}後會在它棧空間中被釋放掉,而在main函數的棧空間中還有一個指針變量p指向該空間,那麼是不是
在運行一段時間後,p所指的棧空間會在以後的運行中被覆蓋掉導致p所指的值是一個不確定的值,不知道的我的理解有沒有問題??
還有一個問題是main函數的參數argc,argv[],是放在該進程的最高地址段(一般情況),既在main函數棧空間的上一個高地址空間段,那麼在main函數內或外定義的別的函數的參數所存放的空間在哪裡呢?是在函數自己的棧空間嗎? |
| |