 
        
        C_Kurs_Lekt / DOC_RAZNOE / CodeBlocks
.pdfCodeBlocks
Release 10.05 rev 6283 (2010-05-27 09:09:13) gcc 4.4.1 Windows/unicode - 32b
Настройка
[Compiler and debugger settings] => [Toolchain executables] E:\COMPILE\CodeBlocks\MinGW
Пути к библиотекам
[Project build options] => [Linker settings] => [ADD]
для работы с консолью
..\..\..\MinGW\lib\pdcurses\pdcurses.a
для работы с графикой
..\..\..\MinGW\lib\libgdi32.a
..\..\..\MinGW\lib\grx248\libgrx20.a
В языке C/C++ есть определенный набор встроенных базовых типов данных.
Для современных компиляторов это обычно:
void не соответствует никакому типу char символьный
short int // можно просто short int целый
long int // можно long
long long int // можно long long
float вещественный очень малой точности double вещественный двойной точности long double
bool (C++) - логический, true (истина) или false (ложь)
wchar_t (C++) - расширенный символьный (должен поддерживать все представимые в системе символы), Широкий символ, В Windows API, тип wchar_t имеет размер 16 бит, В GNU/Linux тип wchar_t имеет размер 32 бита.
Следует отметить, что тип long long не входит в стандарт ISO C++ 1998, но поддерживается большинством современных компиляторов. Ключевое слово void - не ассоциировано ни с одним типом. Переменную типа void создать нельзя, зато можно использовать этот тип для создания указателей с заранее неизвестным типом. Кроме того, ключевое слово void используется при объявлении функций-процедур без возвращаемых значений, а также может использоваться для явного указания отсутствия параметров функции.
Размеры типов:
Вывод для Windows XP SP3, gcc 4.4.1 Windows/unicode - 32 bit, mingw32-g++.exe (TDM-2 mingw32) 4.4.1:
sizeof(bool): 1 sizeof(wchar_t): 2 sizeof(pointer): 4
В битах:
int - 31 (1 бит на знак) unsigned int - 32
число бит мантиссы для типов с плавающей точкой double - 53
long double - 64
Минимальные / максимальные значения для типов:
For processors where an unsigned integer is held in 16 bits, UINT_MAX is 65535, and for processors where an unsigned integer is held in 32 bits, UINT_MAX is 4294967295.
Важное замечание: sizeof в общем случае возвращает значение не в байтах, а в char'ах. То есть, если char окажется, например, 16 бит, а не 8, то sizeof(char) все равно вернет единицу, sizeof(int) при int размерностью 32 бита вернет 2 и т.д.
По найденной в сети информации, под Windows XP при использовании mingw32- g++.exe 3.4.5 long double может оказаться реально 8 байт, хотя sizeof будет выдавать 12.
| Имя типа | Размер (в байтах) | 
 | Min/Max значения | |||
| char | 1 | 
 | min | 
 | -128 | |
| 
 | 
 | 
 | 
 | max | 
 | 127 | 
| unsigned char | 1 | 
 | 
 | min | 0 | |
| 
 | 
 | 
 | 
 | max | 
 | 255 | 
| short int | 2 | 
 | min | -32768 | ||
| 
 | 
 | 
 | max | 32767 | ||
| unsigned short int | 2 | 
 | 
 | min | 0 | |
| 
 | 
 | 
 | max | 65535 | ||
| int | 4 | 
 | min | -2147483648 | ||
| 
 | 
 | 
 | max | 2147483647 | ||
| unsigned int | 4 | 
 | 
 | min | 0 | |
| 
 | 
 | 
 | max | 4294967295 | ||
| long int | 4 | 
 | min | -2147483648 | ||
| 
 | 
 | 
 | max | 2147483647 | ||
| unsigned long int | 4 | 
 | 
 | min | 0 | |
| 
 | 
 | 
 | max | 4294967295 | ||
| long long int | 8 | min | -9223372036854775808 | |||
| 
 | 
 | max | 9223372036854775807 | |||
| unsigned long long int | 8 | 
 | 
 | min | 0 | |
| 
 | 
 | max | 18446744073709551615 | |||
| float | 4 | 
 | min | 1.17549e-038 | ||
| 
 | 
 | 
 | max | 3.40282e+038 | ||
| double | 8 | 
 | min | 2.22507e-308 | ||
| 
 | 
 | 
 | max | 1.79769e+308 | ||
| long double | 12 | 
 | min | 3.3621e-4932 | ||
| 
 | 
 | max | 1.18973e+4932 | |||
