Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Инициализация массива на Си  (Прочитано 6612 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Владислав
Гость
« : 23-03-2010 12:51 » 

Помогите вывести массив a[i][j] с помощью метода инициализации,причём i меняется от 1 до n, а j от 1 до m,где n и m - числа,которые программа предлагает ввести пользователю вначале.Никак не могу представить,как будет выглядеть на Си эта задача.
« Последнее редактирование: 23-03-2010 12:54 от Вад » Записан
Finch
Спокойный
Администратор

il
Offline Offline
Пол: Мужской
Пролетал мимо


« Ответ #1 : 23-03-2010 12:58 » 

Смотри в сторону функций malloc и free. Если ты береш чистый С без плюсов.
Записан

Не будите спашяго дракона.
             Джаффар (Коша)
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 23-03-2010 12:58 » 

Что такое метод инициализации - конструктор, что ли?
Чистый С - значит, есть некоторая функция, скажем, void* CreateArray(int x, int y), которая создаёт массив размером x * y. Я правильно понимаю?
Записан
Владислав
Гость
« Ответ #3 : 23-03-2010 13:15 » 

Да,правильно,только заранее вот
эти значения x и y неизвестны,а будут вводиться при запуске уже самой проги...
Записан
Владислав
Гость
« Ответ #4 : 23-03-2010 13:16 » 

Смотри в сторону функций malloc и free. Если ты береш чистый С без плюсов.
А нельзя как-нибудь по-другому?..я в инсте таких операторов вроде ещё не проходил...O_o
Записан
Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 23-03-2010 13:24 » 

Владислав, массив ведь должен быть динамический? Если его размер определяется во время выполнения программы - то это почти обязательно динамический массив. Тогда под него нужно выделять память. В C память выделяется функциями malloc/calloc, освобождается функцией free.
На всякий случай: в С++ аналогами являются new/new[] и delete/delete[].
Записан
Владислав
Гость
« Ответ #6 : 24-03-2010 13:34 » 

Владислав, массив ведь должен быть динамический? Если его размер определяется во время выполнения программы - то это почти обязательно динамический массив. Тогда под него нужно выделять память. В C память выделяется функциями malloc/calloc, освобождается функцией free.
На всякий случай: в С++ аналогами являются new/new[] и delete/delete[].
О,по-моему это как раз то!..СПАСИБО!
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines