v04bvs писал(а): ↑28.08.2007 18:08
AMD писал(а): ↑28.08.2007 11:34
v04bvs писал(а): ↑26.08.2007 19:39
rr-rustik писал(а): ↑26.08.2007 18:35
Еще вопросик. Зачем нужны short и long, нельзя было что-ли сделать только одну int? А то я так и не понял смысла их приминения.
int - размер машинного слова, с ним гарантируется масимальная скорость работы
char - целое размером 1
short - между ними, зачем нужен не знаю, обычно это 2 байта.
long - больше или равно int-у, максимальное целое, с которым можно работать
ещё есть long long, но это кажется нестандартный тип.
вроде так, может где соврал.
что то я непонял?
int по идее имеет 2byte и он от -32767 до +32767
Ты хотел сказать что
char имеет 1byte наверное?
long насколько я помню имеет 4байта
Вопрос сколько байт имеют
short и
longlong?
sizeof(char) = 1
sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long)
это всё, в чём можно быть уверенным.
Остается добавить, что слово byte, кем-то употребленное, некорректно без уточнений. В этом конктексте имеется в виду
машинный байт - это минимальная адресуемая единица памяти на платформе. Она не обязательно 8 бит.
Из-за этой бурды, словом байт не пользуются. Там где речь идет об информации (битах) - во всех стандартах оперируют термином "октет" (8 бит), а в Си и Си++ - термином char. Согласно легендам, в некоторых более других платформах, char может быть и 32бит. И может оказаться, что sizeof(char) == sizeof(short) == sizeof(int), к примеру.
Тип long long есть
стандартный тип для C99. В GCC он разрешен для Си ++ (или может быть разрешен/запрещен) как GNU extension.
Гм, помимо того, кажется, размеры типов (long) могут отличаться для i386 и amd64, и, кажецо, там были различия в них между Линукс и выньдовс на amd64 (?). Надо бы уточнить...
По инклудам.
Можно #include "my.h"
Можно запускаться с, кпримеру,
и тогда #include <my.h>, а свои "стандартные" заголовки держать в своей инклуд директории. Можно один раз прописать путь к ней в переменную в профиль, и запускать компилятор как всегда...