Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 1100
от 09.09.2008, 07:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 430, Экспертов: 40
В номере:Вопросов: 1, Ответов: 1

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 143015: Начал изучение visual c++ 2005 В книге нему написано, что тип int занимает 4 байта. В справке msdn проверил - то же самое. Это отличие си++ от си? Или это особенность studio?...

Вопрос № 143.015
Начал изучение visual c++ 2005
В книге нему написано, что тип int занимает 4 байта. В справке msdn проверил - то же самое.
Это отличие си++ от си?
Или это особенность studio?
Отправлен: 03.09.2008, 20:47
Вопрос задал: Warobushek (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 4)

Отвечает: Aristos
Здравствуйте, Warobushek!
Разрядность (и размер) типа int не определен в стандартах этих языков (ни C, ни С++) и определяется компилятором и разрядностью системы.
В стандарте имеется следущее условие связывающие размер целочисленных типов:
sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long)
При этом:
1. тип char так же используется для представления символов ASCI и обычно имеет размер 1 байт.
2. тип long соответствует размеру адреса в памяти (sizeof(long) == sizeof(int*))
Остальное остается на усмотрение компилятора.
В старых книгах по С и С++ можно встретить упоминание о том, что sizeof(int) == 2. Это объясняется 16ти разрядной операционной системой (и компилятором, например BorlandC 3.1).
В 32х системе (в большинстве распространенных компиляторов) размеры типов следущие:
sizeof(char) == 1
sizeof(short) == 2
sizeof(int) == 4
sizeof(long) == sizeof(int*) == 4
В 64х системах есть разногласия по размеру int:
sizeof( char) == 1
sizeof(short) == 2
sizeof(int) == 4 или sizeof(int) == 8
sizeof(long) == sizeof(int*) == 8

В отношении простых типов данных С++ полностью совместим с С. Это одно из требований стандарта С++.
---------
нет ничего невозможного
Ответ отправил: Aristos (статус: 8-ой класс)
Ответ отправлен: 03.09.2008, 21:27
Оценка за ответ: 5
Комментарий оценки:
Спасибо +)+)+)


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2008, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале

∙ Версия системы: 5.2 RC 1 от 03.09.2008

Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное