سلام
یک سوال برام پیش اومد گفتم اینجا مطرح کنم بهتره:
اگه 2 تا تابع داشته باشید (FunA , FunB) و از FunA بخواهیم FunB را فراخوان کنیم ، برای بازگشت از return استفاده میکنیم (یا اینکه تایع کاملاً اجرا بشه)؛ مثل:
	حالا اگه به شکل زیر اجرا کنیم :
	یعنی به هر دلیلی تابع قبلی را فراخوان کنیم ، چه اتفاقی برای RAM سیستم بدلیل وجود متغیر های محلی میافته؟
آیا مجدداً براشون حافظه تخصیص میده و RAM را بیهوده اشغال میکنه و یا اینکه جایگزین قبلی ها میشه ؟؟؟
					یک سوال برام پیش اومد گفتم اینجا مطرح کنم بهتره:
اگه 2 تا تابع داشته باشید (FunA , FunB) و از FunA بخواهیم FunB را فراخوان کنیم ، برای بازگشت از return استفاده میکنیم (یا اینکه تایع کاملاً اجرا بشه)؛ مثل:
کد:
	
	void FunA (void)
{
uint8_t A;
uint8_t B;
....
FunB();
....
}
void FunB (void)
{
uint8_t D;
uint8_t E;
...
return;
}
کد:
	
	void FunA (void)
{
uint8_t A;
uint8_t B;
....
FunB();
....
}
void FunB (void)
{
uint8_t D;
uint8_t E;
...
FunA();
}
آیا مجدداً براشون حافظه تخصیص میده و RAM را بیهوده اشغال میکنه و یا اینکه جایگزین قبلی ها میشه ؟؟؟









 ؛ شاید مثالم درست نبود :mrgreen:
 ؛ شاید مثالم درست نبود :mrgreen:





دیدگاه