Для примера:
Статичное выделение:
CODE:function func(string s) // функция принимает строку
{
char a[100]; // массив на 100 элементов
// если будет передана строка более 100 символов, то
strcpy(#a[0], s); // будет выход за пределы массива, т. к. строка не влезет в массив
}
Динамичное:
CODE:function func(string s) // функция принимает строку
{
new char a[size(s)+1]; // массив по размеру строки
strcpy(#a[0], s); // краха не будет, т. к. объявлен массив достаточного размера
delete a; // удалили массив
} |