Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
...
void main(void)
{ int i,j,n,m;
float **a;
puts(“\n Input n,m:”);
scanf(“%d %d”,&n,%m);
printf(“\n Свободная память -%d”,coreleft());
a=(float **)calloc(n,sizeof(float*)); // Захват памяти
for(i=0; i<n; i++)
a[i]=(float *)calloc(m,sizeof(float));
...
for(i=0; i<n; i++) free(a[i]); // Освобождение памяти
free(a);
getch();
}
Пример создания одномерного динамического массива в С++
...
double *x;
int i, n;
...
cout<< "Введите размер массива: ";
cin>>n;
x = new double [n];
if (x == NULL)
{
cout<<" Предел размерности! ";
return;
}
for (i=0; i<n; i++) //выполняем некоторые действия с массивом
cin>>x[i];
...
delete [ ]x; // Освобождение памяти
...
Пример создания двухмерного динамического массива в С++
...
int **m, n1, n2, i, j;
cout << " Введите размеры массива (количество строк и столбцов): ";
cin>>n1>>n2;
m = new int * [n1]; // Захват памяти для указателей
for (i=0; i<n1; i++) // Захват памяти для элементов матрицы
m[i] = new int [n2];
...
for (i=0; i<n1; i++) // выполняем некоторые действия с матрицей
for (j=0; j<n2; j++)
m[i][j] = i+j; // *(*(m+i)+j) = i+j;
...
for (i=0;i<n1; i++) // Освобождение памяти
delete [ ] m[i];
delete [ ] m;
...
Пример динамического размещения массива строк в С++
#include <iostream.h>
#include <string.h>
void main()
{
char **str;
int n1,i;
cout<<"Введите количество строк: ";
cin>>n1;
str=new char *[n1+1];
for (i=0;i<n1+1;i++)
str[i]=new char[255];
if (str[i]==NULL)
{
cout<<"Predel razmera massiva";
return;
}
cout<<"Введите строки: "<<endl;
for (i=0;i<n1;i++)
cin>>*(str+i);
cout<<"Вывод массива строк: "<<endl;
for (i=0;i<n1;i++)
cout<<*(str+i)<<endl;
for(i=0;i<n1;i++)
delete [ ] str[i];
delete [ ] str;
}
Дата публикования: 2014-11-28; Прочитано: 218 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!