Вопросы по поводу malloc и printf
От: YourLastSong  
Дата: 08.09.11 15:50
Оценка: :)
Здравствуйте, уважаемые господа.

У меня появилось неск. вопросов:

— Как-то недавно услышал, что в C не требуется преобразование типов в случае malloc. Например, можно будет написать просто int *a = malloc (n * sizeof (int)). Сегодня решил проверить, и у меня не получилось, к сожалению. Это действительно так или нет?

— Почему printf ("%F", 2.5") ничего не выводит? Ведь это же аналог %f, но с выводом больших букв для INF, -INF и т.д., разве нет?

Заранее благодарю за возможные ответы.
Re: Вопросы по поводу malloc и printf
От: Vamp Россия  
Дата: 08.09.11 15:54
Оценка:
YLS>- Как-то недавно услышал, что в C не требуется преобразование типов в случае malloc. Например, можно будет написать просто int *a = malloc (n * sizeof (int)). Сегодня решил проверить, и у меня не получилось, к сожалению. Это действительно так или нет?
C или С++?

YLS>- Почему printf ("%F", 2.5") ничего не выводит? Ведь это же аналог %f, но с выводом больших букв для INF, -INF и т.д., разве нет?



printf ("%F\n", 2.5)

Попробуй так.
Да здравствует мыло душистое и веревка пушистая.
Re[2]: Вопросы по поводу malloc и printf
От: YourLastSong  
Дата: 08.09.11 16:01
Оценка:
V>C или С++?

Пробовал в Visual Studio, указав в свойствах проекта компилировать код как C, разумеется.

V>
V>printf ("%F\n", 2.5) 
V>

V>Попробуй так.

Пробовал, тоже ничего не печатает.
Re[3]: Вопросы по поводу malloc и printf
От: watch-maker  
Дата: 08.09.11 16:12
Оценка: 1 (1)
Здравствуйте, YourLastSong, Вы писали:

V>>C или С++?


YLS>Пробовал в Visual Studio, указав в свойствах проекта компилировать код как C


Visual Studio не очень хорошо поддерживает стандартный С (даже старый С89). И что-то делать тут пока не собирается. Всё таки лучше для изучения языка С взять компилятор, который поддерживает язык С.
с
Re[4]: Вопросы по поводу malloc и printf
От: YourLastSong  
Дата: 08.09.11 17:17
Оценка:
А почему вообще в C преобразование типов делать не надо? Там ведь malloc возвращает то же самое, что и в C++, разве нет?

И что по поводу printf?
Re[5]: Вопросы по поводу malloc и printf
От: watch-maker  
Дата: 08.09.11 17:32
Оценка:
Здравствуйте, YourLastSong, Вы писали:

YLS>А почему вообще в C преобразование типов делать не надо?

Потому что в стандарте так написано:
>A pointer to void may be converted to or from a pointer to any incomplete or object type. A pointer to any incomplete or object type may be converted to a pointer to void and back again; the result shall compare equal to the original pointer.

YLS> Там ведь malloc возвращает то же самое, что и в C++, разве нет?

Какая разница что возвращает в С++? Это другой язык.

YLS>И что по поводу printf?

printf часть языка С.
VisualStudio плохо поддерживает язык C, в частности не полностью поддерживает стандартные типы printf.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.