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

Выделение памяти malloc - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Программно запустить приложение Access 2010 и открыть базу с паролем http://www.cyberforum.ru/cpp-beginners/thread781713.html
Доброго времени суток! Как программно в C++ запустить приложение Access 2010 и открыть базу с паролем? Без пароля база нормально открывается, но если она с паролем, то его необходимо вводить...
C++ Строки: нахождение символов и замена слов Здравствуйте, дорогие форумчане. ----------------------------------- Помогите, пожалуйста, решить задачу. Вот задание: ----------------------------------- Багаж пассажира характеризуется... http://www.cyberforum.ru/cpp-beginners/thread781692.html
разбор программы C++
друзья хотел бы попросить помощи с одной программой, в программировании не разбираюсь по єтому пришел к вам на форум. Есть программа одно хотел бы вас попросить чуть чуть переделать её. Есть...
C++ Строки: нахождение символов и замена слов
Здравствуйте, дорогие форумчане. ---------------------------------- Помогите, пожалуйста, с решением задачи. Составить программу извлечения слова из множества слов по порядковому номеру. Множество...
C++ Библиотека для создания pdf файлов http://www.cyberforum.ru/cpp-beginners/thread781666.html
Здравствуйте. Я ищу библиотеку для создания pdf файлов. Наподобие Pdf Creator Pilot. Но она к сожалению платная. Подскажите возможные варианты. Добавлено через 2 минуты Кажется нашел, что то...
C++ Строки: нахождение символов и замена слов Здравствуйте, дорогие форумчане. --------------------------------------- Помогите, пожалуйста, с решением задачи. Дана строка символов. Группы символов, разделённые одним или несколькими пробелами... подробнее

Показать сообщение отдельно
Winhttp
60 / 60 / 0
Регистрация: 05.01.2013
Сообщений: 235

Выделение памяти malloc - C++

08.02.2013, 02:33. Просмотров 1325. Ответов 5
Метки (Все метки)

не работает пример из лекции , там пример на доске такой написан -
C++
1
2
3
4
5
6
#include <stdlib.h>
int main()
{
    int *p=malloc(10000*sizeof(int));//выделили память
    free(p);//освободили
}
но такой пример отказывается компилироваться с ошибкой
Код
error: invalid conversion from 'void*' to 'int*' [-fpermissive]|
тоесть, указатель должен быть void*? и как с ним работать тогда?
вот такая запись скомпилируется нормально:
C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <windows.h>
#include <stdlib.h>
 
 
int main()
{
    void *p=malloc(40000*sizeof(int));//выделили память
    free(p);//освободили
}
но если первой ячейке , ну или элементу присвоить какое то значение, то программа не скомпилируется
C++
1
p[0]=1
еще вопрос по поводу void - из других ЯП я знаю, что это ключевое слово, которое означает, что функция ничего не возвращает, поэтому не могу понять, причем тут void в начале функции, если она возвращает указатель? это тип указателя, как я понял?
в гугле нашел следующее
void* - обобщенный тип указателя, т.е. не привязанный к какому-либо конкретному типу
, ну и как с ним работать?

вот сама лекция на том месте с примером -

Добавлено через 7 минут
и не подскажете, что значат значения функции в начале -
C++
1
_CRTIMP void* __cdecl __MINGW_NOTHROW   malloc  (size_t) __MINGW_ATTRIB_MALLOC;
ну - _CRTIMP, __cdecl __MINGW_NOTHROW, и в конце - __MINGW_ATTRIB_MALLOC
запутанно чтото все, и смысла уловить не могу во всем этом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru