Давайте предположим следующий код:
#include<stdlib.h>
void func1()
{
int a=2;
int b=3;
int c=4;
}
void func2()
{
int *ptr;
ptr = (int *)malloc(3 * sizeof(int));
}
int main()
{
func1();
printf("Point 1\n");
func2();
printf("Point 2\n");
}
Мои вопросы:
- Что происходит с памятью, выделенной для переменных a, b и c (чтонаходятся ли локальные переменные в "func1") после выполнения
"func1" в основной функции?После этого пространство, необходимое для хранения этих переменных, может быть повторно использовано другими программами? - Что происходит с памятью, выделенной для "ptr" (локально в "func2"), после выполнения "func2"«?Должны ли мы освободить память перед выходом из функции?