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

Не понимаю как работает функция malloc - C++

Восстановить пароль Регистрация
 
Sergikx
1 / 1 / 0
Регистрация: 10.09.2014
Сообщений: 59
25.11.2014, 17:42     Не понимаю как работает функция malloc #1
Можете объяснить, что здесь значит каждый символ и элемент в этой строчке?
C
1
mas=(int*)malloc(n*sizeof(int));
и почему они находятся именно в таком порядке, если не тяжело
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Zedapp
 Аватар для Zedapp
29 / 29 / 12
Регистрация: 15.11.2014
Сообщений: 167
25.11.2014, 17:52     Не понимаю как работает функция malloc #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Данная запись возвращает указатель на начало области динамической памяти. В случае если это не удалось возвращает NULL.

C
1
mas
Это идентификтор массива.
C
1
(int*)
Преобразует в указатель на тип int.
C
1
malloc(n*sizeof(int))
malloc это функция выделяющая динамическую память. n - количество элементов в вашем массиве.
C
1
n*sizeof(int)
вовращает количество байт, необходимых для записи n целых.

Именно в таком порядке потому, что так требуется. Почитайте заголовочный файл malloc.h, и почитайте учебник в разделе "Указатели и массивы" "Массивы динамической памяти".
Sergikx
1 / 1 / 0
Регистрация: 10.09.2014
Сообщений: 59
25.11.2014, 17:57  [ТС]     Не понимаю как работает функция malloc #3
Zedapp, большое спасибо, очень помогли мне
Zedapp
 Аватар для Zedapp
29 / 29 / 12
Регистрация: 15.11.2014
Сообщений: 167
25.11.2014, 18:05     Не понимаю как работает функция malloc #4
Или как для С++ версии(я просто не догнал, на каком языке ты пишешь, т.к. тема в С++, а код ты вставлял Си):
C++
1
2
3
4
5
int *m;
int n;
cout << "input n\n";
cin >> n;
m=(int*)malloc(n*sizeof(int));
Но вообще в С++ можно опустить эти не понятные для вас танцы с бубном и просто записать:
C++
1
2
3
4
int n;
cout << "input n\n";
cin >> n;
int m[n];
Yandex
Объявления
25.11.2014, 18:05     Не понимаю как работает функция malloc
Ответ Создать тему
Опции темы

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