Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.62/21: Рейтинг темы: голосов - 21, средняя оценка - 4.62
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452

В чем разница между new и malloc()?

26.08.2015, 12:13. Показов 4657. Ответов 31
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем доброго дня !

Начал читать книгу Пахомов Б. "C/C++ и MS Visual C++ 2008 для начинающих"

До этого прочитал С++ за 21 день.

В книге Похомова встретил такую функцию как malloc() и free()

Это вместо new и delete в среде MS Visual C++ 2008 ?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.08.2015, 12:13
Ответы с готовыми решениями:

В чем разница между malloc и new?
в чем разница? что лучше использовать?

В чем разница между malloc() и (char *)malloc()
Прошу помочь разобраться: не могу понять в чем разница междуs=malloc(sizeof(char)); иs=(char *)malloc(sizeof(char));Буду признателен вашим...

В чем разница malloc и calloc?
подскажите пожалуйста,в чем разница malloc и calloc? эмалок выделение динамической памяти а сиалок выделение чистой памяти. в смысле...

31
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
26.08.2015, 15:01  [ТС]
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Croessmah Посмотреть сообщение
ровно до тех пор, пока sizeof(int) == sizeof(int*)

в каких случаях тогда sizeof(int) != sizeof(int*) ?
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
26.08.2015, 15:08
Цитата Сообщение от RAFA91 Посмотреть сообщение
в каких случаях тогда sizeof(int) != sizeof(int*) ?
В любых. В стандарте нет гарантий на размер типов. И на то, что размер указателя равен размеру инта подавно.
0
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,361
26.08.2015, 15:16
Короче как Капитан Очевидность скажу, что писать int не надо, надо int*. Не надо надеяться, что где-то будет работать, где-то точно не будет работать такой код.
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
26.08.2015, 15:16  [ТС]
Цитата Сообщение от ForEveR Посмотреть сообщение
И на то, что размер указателя равен размеру инта подавно.
во всех случаях инт 4 байта

C++
1
2
3
4
5
printf("\n**** %d\n",sizeof(int****));
printf("\n**** %d\n",sizeof(int***));
printf("\n**** %d\n",sizeof(int**));
printf("\n**** %d\n",sizeof(int*));
printf("\n**** %d\n",sizeof(int));
0
1620 / 1185 / 553
Регистрация: 08.01.2012
Сообщений: 4,564
26.08.2015, 15:19
в Borland C++(не Builder) не так
1
 Аватар для Новичок
1682 / 1098 / 489
Регистрация: 17.07.2012
Сообщений: 5,361
26.08.2015, 15:25
Цитата Сообщение от RAFA91 Посмотреть сообщение
во всех случаях инт 4 байта
Началось...
2
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
26.08.2015, 15:47  [ТС]
хотя тут нет

C++
1
 printf("\n**** %d %d\n",sizeof(char *),sizeof(char));
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
26.08.2015, 15:56
Цитата Сообщение от RAFA91 Посмотреть сообщение
в каких случаях тогда sizeof(int) != sizeof(int*) ?
Вот, например http://rextester.com/LLJQ31235
0
1620 / 1185 / 553
Регистрация: 08.01.2012
Сообщений: 4,564
26.08.2015, 15:56
действительно чудо, размер указателя, а его размер не зависит на что он указывает, не соответствует размеру адресата
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
26.08.2015, 15:58  [ТС]
в вижуале 6

http://ideone.com/0FJEcz

для типа char получил 1 а для char* 4

а тут увы

http://ideone.com/0FJEcz
0
В астрале
Эксперт С++
 Аватар для ForEveR
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
26.08.2015, 16:00
RAFA91, Да как-то в данном случае всем все равно, сколько на конкретной архитектуре, в конкретном компиляторе занимает тот или иной тип данных. Факт в том, что стандарт не гарантирует ничего про размеры типов, кроме того, что размер определенного типа должен быть меньше (больше) или равен размеру другого типа.
Хотя нет, вру, размеры char и bool однозначно специфицированы.
0
 Аватар для RAFA91
-28 / 35 / 25
Регистрация: 14.06.2013
Сообщений: 1,452
26.08.2015, 16:02  [ТС]
ForEveR на будущее буду знать !
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.08.2015, 16:02

Malloc + reinterept_cast и new. В чем разница?
Уважаемые форумчане, скажите пожалуйста, в чем разница между этим: int* arr_i; arr_i =...

Разница между malloc и new
Ниже представлен код: #include <iostream> using namespace std; struct stand { int x = 4; };

В чем разница между ^p и ^13
Заменой сделал строку с ^p и строку с ^13 с Подстановочными знаками. Если поместить курсор на строку с ^13, то курсор станет за знаком...

В чем разница между С и С++
Возник вопрос в чем жи разница между С и С++ кроме того, что в С++ есть классы а в С их нету ?

В чем разница между X x; и X x()?
Корректный ли этот ответ?


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

Или воспользуйтесь поиском по форуму:
32
Ответ Создать тему
Новые блоги и статьи
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась. Первый вариант. . .
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2. Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru