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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Sergikx
1 / 1 / 0
Регистрация: 10.09.2014
Сообщений: 59
#1

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

25.11.2014, 17:42. Просмотров 248. Ответов 3
Метки нет (Все метки)

Можете объяснить, что здесь значит каждый символ и элемент в этой строчке?
C
1
mas=(int*)malloc(n*sizeof(int));
и почему они находятся именно в таком порядке, если не тяжело
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2014, 17:42
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Не понимаю как работает функция malloc (C++):

Не понимаю как работает эта функция - C++
Что означают аргументы & и * в этой функции ? template <typename T> inline T* const& max(T* const& a, T* const& b) { return *a...

Не понимаю, почему не работает стандартная функция strlen - C++
#include "stdafx.h" #include <iostream> #include "string.h" using namespace std; int _tmain(int argc, _TCHAR* argv) { ...

Функция Malloc - C++
Помогите изучить функцию Malloc что она делает или дайте учебник где она описана! Начальный курс давно закончил, хорошо разбираюсь в...

Не понимаю, как работает программа - C++
// Programm F 61 // Преобразование Fixed-Float # include stdio.h; # include conio.h; # include "BinaryInt.h" # include...

Не понимаю как работает рекурсия - C++
Привет. Знаю, что таких тем много (Я читал их). Не нужно кидать ссылки. Я знаю что такое рекурсия, но не понимаю как она работает. int...

Не понимаю, как работает код? - C++
int main(int argc, char** argv) //кол-во аргументов, указатель на массив указателей на сами аргументы. { setlocale( LC_ALL ,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Zedapp
43 / 29 / 12
Регистрация: 15.11.2014
Сообщений: 169
25.11.2014, 17:52 #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  [ТС] #3
Zedapp, большое спасибо, очень помогли мне
Zedapp
43 / 29 / 12
Регистрация: 15.11.2014
Сообщений: 169
25.11.2014, 18:05 #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];
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.11.2014, 18:05
Привет! Вот еще темы с ответами:

Пузырьковая сортировка. Не понимаю как работает программа - C++
Есть программа, которая использует пузырьковую сортировку. Не могу понять как она работает начиная с 50 строки. Зачем там конструкции if...

Поиск моды в массиве. Не понимаю как работает переменная rmax - C++
int main() { vector&lt;int&gt; moda; vector&lt;int&gt; number(1000); int num; int rmax = 0; int n = 1000; while (cin &gt;&gt; num) ...

Написал вариант реализации алгоритма for_each. Не понимаю, как он работает с функциями - C++
template&lt;typename Container, typename Func&gt; Func for_each(typename Container::iterator begin, typename Container::iterator end, Func op) ...

Почему не работает malloc()? - C++
int *p; p=malloc(10*sizeof(int)); При компиляции указывает на строчку с malloc и пишет error: invalid conversion from ‘void*’ to...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
25.11.2014, 18:05
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru