Форум программистов, компьютерный форум CyberForum.ru

Выделение памяти под динамическую матрицу в С - C++

Восстановить пароль Регистрация
 
Grach
 Аватар для Grach
6 / 5 / 0
Регистрация: 26.02.2010
Сообщений: 47
28.10.2010, 10:23     Выделение памяти под динамическую матрицу в С #1
Люди помогите с 2 вопросами а то я чет не понимаю
1.Выделение памяти под динамическую матрицу в С(напише плиз как обьявлется матрица и как выделяется память )
2.Как работает функция с возвращением матрицы в С (лучше всего с примером)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.10.2010, 10:23     Выделение памяти под динамическую матрицу в С
Посмотрите здесь:

C++ выделение памяти под переменную
Выделение памяти под матрицу C++
Выделение памяти под строку C++
C++ Выделение памяти под структуры
Выделение памяти под массив C++
Выделение памяти под матрицу в конструкторе C++
C++ выделение памяти под структуру
Выделение памяти под указатель C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Day
 Аватар для Day
1149 / 954 / 57
Регистрация: 29.10.2009
Сообщений: 1,384
28.10.2010, 11:07     Выделение памяти под динамическую матрицу в С #2
1.-2.
C
1
2
3
4
5
  double **C;
  C = malloc(n*sizeof(double *));
  for(j=0; j<n; j++) 
      C[j] = malloc(m*sizeof(double));
  return C;
accept
4837 / 3236 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
29.10.2010, 05:00     Выделение памяти под динамическую матрицу в С #3
Цитата Сообщение от Grach
Выделение памяти под динамическую матрицу в С
C
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
28
29
int create_matrix_2d(double ***p, int rows, int cols);
{
    double **mtx;
    int i;
 
    mtx = (double **) malloc(rows * sizeof(double *));
 
    if (mtx == NULL)
        return -1;
 
    for (i = 0; i < rows; i++) {
        mtx[i] = (double *) malloc(cols * sizeof(double));
        if (mtx[i] == NULL)
            break;
    }
 
    if (i != rows) {
        int j;
 
        for (j = 0; j < i; j++)
            free(mtx[j]);
        free(mtx);
        return -2;
    }
 
    *p = mtx;
 
    return 0;
}
C
1
2
3
4
5
6
7
    double **m;
    int retval;
 
    retval = create_matrix_2d(&m, 3, 4);
 
    if (retval != 0)
        fprintf(stderr, "error: ... " "\n");
Yandex
Объявления
29.10.2010, 05:00     Выделение памяти под динамическую матрицу в С
Ответ Создать тему
Опции темы

Текущее время: 00:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru