blob: 6d45a1d68b5a4e94294d4d306093d6d07e1d7f9d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
#include <iostream>
using namespace std;
int main()
{
int arr[3]; //големината на тези масиви трябва да е ясна ПРЕДИ да се компилира програмата
//паметта за стека трябва да се задели преди да тръгне програмата
if (true)
{
int num = 10;
num++;
}
//num++; //стекът сам си "чисти" паметта. Променливата num не съществува.
int n;
cin >> n;
int* arr = new int[n];// Тук n е променлива - стойността и НЕ е ясна преди да тръгне програмата!
/*if (true)
{
arr = new int[2*n] // Отечка на памет (memory leak).Не е изтрита паметта, към която сочи arr.
}*/
delete[] arr;
//За всяко едно new трябва да имаме едно delete.
//Уговаряме се, че ЩЕ БЪДЕ В СЪЩАТА ФУНЦКИЯ.
//Т.е няма да заделяме памет в една функция и да я освобождаваме в друга!
}
|