| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > выделение памяти под элемент структуры (malloc) |
| Автор: shtuceron 28.5.2011, 14:04 | ||
Добрый день, почему-то не работает конструкция вида
Однако без typedef все работает прекрасно. вроде задачка элементарная, однако у меня затруднения. Спасибо (компилятор GCC 4.2) |
| Автор: volatile 29.5.2011, 00:17 | ||||
так вы не дописали до конца тайпдеф.
либо безымянную
|
| Автор: borisbn 29.5.2011, 08:53 |
| shtuceron, на каком языке ты пишешь ? На Си или на Си++ ? Дело в том, что в этой части (объявление и описание структур) эти языки довольно сильно отличаются. Если Си - то volatile дал исчерпывающий ответ, если Си++, то лучше описывать структуру без typedef'а вообще. |
| Автор: sergioK1 29.5.2011, 09:04 | ||
так на С++ и malloc вроде бы не нужен, у меня ощущение что многие изучают С ,но файл называют cpp, частично используя возможности c++, но не используют объесты, Я прав ?? |
| Автор: triclosan 29.5.2011, 09:08 |
| sergioK1, ДА! |
| Автор: sergioK1 29.5.2011, 15:27 | ||
у меня контр-вопрос а чем это плохо,? естесно если понимаешь разницу, почему для массива надо пользовать new , который все равно мalloc зовет, ? или printf внутри класса, или класс стринг , если он мне в данной задаче не нужен, почему не char* как в С ? С++ он же не вместо С он в дополнение, |
| Автор: borisbn 29.5.2011, 17:45 | ||||||||
ессно, если понимаешь разницу, то всё равно, но... и на страруху бывает проруха... по закону подлости один раз из 100 ты напишешь
не умножив на sizeof. тупо забудешь. и хорошо, если упадёт сразу - исправишь. а если через день работы программы
то же самое. забудешь выделить память под завершающий '\0'... от невнимательности - усталость, спешка (проект нужен завтра или никогда), куча других забот в голове - никто не застрахован. а вот это скорее исключение, подтверждающее правило. сам пользую из-за форматного вывода, который в iostream настолько гемороидальный, что плюю на возможные проблемы типа
|
| Автор: volatile 29.5.2011, 18:18 | ||
Походу. Это какой язык С или С++ ? На С он не скомпилится, так что это явно не С. Но и С++ назвать как-то рука не поднимается, хотя компилится спокойно на любом С++. (даже на gcc!!!) С++ позволяет делать многие вещи. за это его ругают, и за это же хвалят. (не обращайте внимания, так, мысли вслух...) Добавлено через 2 минуты и 11 секунд |
| Автор: sergioK1 29.5.2011, 19:47 | ||||||||
еще лучше пример
когда учился профессор наш любил на экзаменах всякие штучки типо этой , потом приговаривал , это язык для ненормальных |