Содержание

Диапазоны типов данных | Microsoft Learn

Twitter LinkedIn Facebook Адрес электронной почты

  • Статья
  • Чтение занимает 2 мин

32-разрядные и 64-разрядные компиляторы Microsoft C++ распознают типы в таблице далее в этой статье.

  • int (unsigned int)

  • __int8 (unsigned __int8)

  • __int16 (unsigned __int16)

  • __int32 (unsigned __int32)

  • __int64 (unsigned __int64)

  • short

    (unsigned short)

  • long (unsigned long)

  • long long (unsigned long long)

Если имя начинается с двух символов подчеркивания (__), тип данных является нестандартным.

Диапазоны, представленные в следующей таблице, включают указанные значения.

Имя типаБайтыДругие именаДиапазон значений
int4signedОт -2 147 483 648 до 2 147 483 647
unsigned int4unsignedОт 0 до 4 294 967 295
__int81charОт -128 до 127
unsigned __int81unsigned charОт 0 до 255
__int162short,
short int
, signed short int
От -32 768 до 32 767
unsigned __int162unsigned short, unsigned short intОт 0 до 65 535
__int324signed, signed int, intОт -2 147 483 648 до 2 147 483 647
unsigned __int324unsigned, unsigned int
От 0 до 4 294 967 295
__int648long long, signed long longОт -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807
unsigned __int648unsigned long longОт 0 до 18 446 744 073 709 551 615
bool1нетfalse или true
char1нетОт -128 до 127 по умолчанию

От 0 до 255 при компиляции с помощью

/J

signed char1нетОт -128 до 127
unsigned char1нетОт 0 до 255
short2short int, signed short intОт -32 768 до 32 767
unsigned short2unsigned short intОт 0 до 65 535
long4long int, signed long int
От -2 147 483 648 до 2 147 483 647
unsigned long4unsigned long intОт 0 до 4 294 967 295
long long8нет (но эквивалентно __int64)От -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807
unsigned long long8нет (но эквивалентно unsigned __int64)От 0 до 18 446 744 073 709 551 615
enumнепостоянно
нет
float4нет3,4E +/- 38 (7 знаков)
double8нет1,7E +/- 308 (15 знаков)
long doubleто же, что и doubleнетТо же, что double
wchar_t2__wchar_tОт 0 до 65 535

В зависимости от характера использования переменная типа __wchar_t обозначает расширенный символьный или многобайтовый символьный тип.

Чтобы указать константу расширенного символьного типа, перед символьной или строковой константой следует использовать префикс L .

signed и unsigned — это модификаторы, которые можно использовать с любым целочисленным типом, кроме типа bool. Обратите внимание, что char, signed charи unsigned char — это три разных типа, предназначенных для механизмов, подобных перегрузке и шаблонам.

Размер типов int и unsigned int — 4 байта. Однако переносимый код не должен зависеть от размера int , поскольку языковой стандарт позволяет варьировать его в зависимости от реализации.

C и C++ в Visual Studio также поддерживают целочисленные типы с указанием размера. Дополнительные сведения см. в разделах __int8, __int16, __int32, __int64 и Integer Limits.

Дополнительные сведения об ограничениях размеров каждого типа см. в разделе Встроенные типы.

Диапазон перечисляемых типов зависит от контекста языка и указанных флажков компилятора. Дополнительные сведения см. в статьях Объявления перечислений C и Объявления перечислений C++.

Ключевые слова
Встроенные типы

C++ — Типы данных

При написании программы на любом языке вам нужно использовать различные переменные для хранения различной информации. Переменные — это не что иное, как зарезервированные ячейки памяти для хранения значений. Это означает, что при создании переменной вы сохраняете некоторое пространство в памяти.

Вы можете хранить информацию различных типов данных, таких как символ, широкий символ, целое число, плавающая точка, двойная плавающая точка, логическое значение и т. Д. На основе типа данных переменной операционная система выделяет память и решает, что можно сохранить в зарезервированная память.

Примитивные встроенные типы

C ++ предлагает программисту богатый набор встроенных, а также пользовательских типов данных. В следующих таблицах перечислены семь основных типов данных C ++:

Type Keyword
Boolean bool
Character char
Integer int
Floating point float
Double floating point double
Valueless void
Wide character wchar_t

Некоторые из основных типов могут быть изменены с использованием одного или нескольких модификаторов этого типа:

  • signed
  • unsigned
  • short
  • long

В следующей таблице показан тип переменной, объем памяти, который требуется для хранения значения в памяти, и то, что является максимальным и минимальным значением, которое может быть сохранено в таких переменных.

Type Typical Bit Width Typical Range
char 1byte -127 to 127 or 0 to 255
unsigned char 1byte 0 to 255
signed char 1byte -127 to 127
int 4bytes -2147483648 to 2147483647
unsigned int 4bytes 0 to 4294967295
signed int 4bytes -2147483648 to 2147483647
short int 2bytes -32768 to 32767
unsigned short int Range 0 to 65,535
signed short int Range -32768 to 32767
long int 4bytes -2,147,483,648 to 2,147,483,647
signed long int 4bytes same as long int
unsigned long int 4bytes 0 to 4,294,967,295
float 4bytes +/- 3. 4e +/- 38 (~7 digits)
double 8bytes +/- 1.7e +/- 308 (~15 digits)
long double 8bytes +/- 1.7e +/- 308 (~15 digits)
wchar_t 2 or 4 bytes 1 wide character

 Размер переменных может отличаться от размера, указанного в приведенной выше таблице, в зависимости от компилятора и компьютера, который вы используете. Ниже приведен пример, который даст правильный размер различных типов данных на вашем компьютере.


#include <iostream>
using namespace std;

int main() {
   cout << "Size of char : " << sizeof(char) << endl;
   cout << "Size of int : " << sizeof(int) << endl;
   cout << "Size of short int : " << sizeof(short int) << endl;
   cout << "Size of long int : " << sizeof(long int) << endl;
   cout << "Size of float : " << sizeof(float) << endl;
   cout << "Size of double : " << sizeof(double) << endl;
   cout << "Size of wchar_t : " << sizeof(wchar_t) << endl;
   
   return 0;
}

В этом примере используется endl , который вводит символ новой строки после каждой строки, а оператор << используется для передачи нескольких значений на экран.  Мы также используем оператор sizeof () для получения размера различных типов данных.

Когда приведенный выше код компилируется и выполняется, он производит следующий результат, который может варьироваться от машины к машине:


Size of char : 1
Size of int : 4
Size of short int : 2
Size of long int : 4
Size of float : 4
Size of double : 8
Size of wchar_t : 4

Декларации typedef

Вы можете создать новое имя для существующего типа с помощью typedef. Ниже приведен простой синтаксис для определения нового типа с использованием typedef:


typedef type newname; 

Например, следующее говорит компилятору, что ногами является другое имя для int:


typedef int feet;

Теперь следующая декларация совершенно легальна и создает целочисленную переменную, называемую расстоянием:


feet distance;

Перечисленные типы

Перечислимый тип объявляет необязательное имя типа и набор из нуля или более идентификаторов, которые могут использоваться как значения типа.  Каждый перечислитель является константой, тип которой является перечислением. Для создания перечисления требуется использование ключевого слова enum . Общий вид типа перечисления:


enum enum-name { list of names } var-list; 

Здесь enum-name — это имя типа перечисления. Список имен разделяется запятой. Например, следующий код определяет перечисление цветов, называемых цветами, и переменной c цвета типа. Наконец, c присваивается значение «blue».


enum color { red, green, blue } c;
c = blue;

По умолчанию значение первого имени равно 0, второе имя имеет значение 1, а третье — значение 2 и т. Д. Но вы можете указать имя, определенное значение, добавив инициализатор. Например, в следующем перечислении зеленый будет иметь значение 5.


enum color { red, green = 5, blue };

Здесь blue будет иметь значение 6, потому что каждое имя будет больше, чем предыдущее.

типов данных в C | GATE Notes

Как следует из названия, здесь типы данных относятся к типу данных, которые мы используем в программе на C. Всякий раз, когда мы используем тип данных в программе на C, мы определяем используемые в нем переменные или функции. Мы делаем это потому, что должны указать тип используемых данных, чтобы компилятор точно знал, какой тип данных он должен ожидать от данной программы.

В этой статье мы более подробно рассмотрим типы данных в C в соответствии с программой GATE для CSE (Computer Science Engineering). Читайте дальше, чтобы узнать больше.

Содержание

  • Назначение типов данных в C
  • Пример типов данных в C
  • Типы типов данных в C
  • Первичные типы данных в C
  • Различные значения типов данных
  • Модификаторы типа данных в языке программирования C
  • Диапазон значений типа данных C
  • Когда значение типа данных выходит за пределы допустимого диапазона
  • Производные типы данных в C
  • Использование типов данных C
  • Практические задачи по типам данных в C
  • Часто задаваемые вопросы

Назначение типов данных в C

Типы данных, используемые в языке C, относятся к обширной системе, которую мы используем для объявления различных типов функций или переменных в программе. Здесь на основе типа переменной, присутствующей в программе, мы определяем место, которое она занимает в памяти, а также то, как будет интерпретироваться сохраненная битовая комбинация.

Тип данных определяет тип данных, которые может хранить переменная, например целочисленные, с плавающей запятой, символьные и т. д.

Пример типов данных в C

Давайте рассмотрим пример, чтобы лучше понять типы данных.

Например, мы можем захотеть использовать некоторые числа, такие как 5, 8, 600, или, возможно, число с десятичной точкой, такое как 43,59, 127,368, 271,49, или, возможно, текст, такой как «капучино». Тогда компилятор, используемый в языке C, будет обрабатывать все это совсем по-другому. Таким образом, здесь мы используем разные типы данных для определения того, какие типы данных мы хотим использовать в программе.

Типы типов данных в C

Вот пять основных категорий, на которые делятся типы данных в языке C:

Тип данных Пример типа данных
Тип базовых данных С плавающей запятой, целое, двойное, символьное.
Тип производных данных Объединение, структура, массив и т. д.
Тип нумерованных данных перечисления
Пустой тип данных Пустое значение
Тип Bool Правда или Ложь

Базовые типы данных также известны как первичные типы данных в программировании на C.

Первичные типы данных в C

Вот пять примитивных или первичных типов данных, которые можно найти в языке программирования C:

1. Целое число — Мы используем их для хранения различных целых чисел, таких как 5, 8, 67, 2390 и т. д.

2. Символ – Относится ко всем наборам символов ASCII, а также к отдельным алфавитам, таким как «x», «Y» и т. д.

3. Double — К ним относятся все большие типы числовых значений, которые не относятся ни к типу данных с плавающей запятой, ни к целочисленному типу данных. Посетите раздел Double Data Type in C, чтобы узнать больше.

4. С плавающей запятой — Относятся ко всем действительным числам или десятичным точкам, например, 40,1, 820,673, 5,9 и т. д.

5. Void – Этот термин относится к отсутствию значений вообще. В основном мы используем этот тип данных при определении функций в программе.

В программе используются различные ключевые слова для указания типов данных, упомянутых выше. Вот ключевые слова, которые мы используем:

Используемое ключевое слово Тип данных
целое число Целое число
поплавок С плавающей запятой
пустота Пустота
символ Символ
двойной Двойной

Размер каждого типа данных определяется в байтах/битах. Кроме того, эти типы данных могут хранить очень широкий диапазон значений.

Различные значения типов данных

Размер любого заданного типа данных в программе во многом зависит от типа процессора, а также от компилятора. Проще говоря, размер типа данных полностью зависит от компьютера, на котором мы запускаем язык C, а также от версии компилятора программ C, который мы установили на компьютере.

Тип данных int может иметь размер 4/2 байта.

Запомнить размер типа данных int очень просто. Данный размер обычно равен длине слова среды выполнения программы. Другими словами, int будет 2 байта или 16 бит в случае 16-битной среды. Однако int будет 4 байта или 32 бита в случае 32-битной среды.

Тип данных char — 1 байт.

Размер типа данных char обычно составляет 8 бит или 1 байт. Никаких изменений не произойдет с разными компиляторами и интерпретаторами. Это означает, что тип используемого компилятора или процессора никак не повлияет на его размер.

Тип данных double имеет размер 8 байт.

Размер типа данных double в основном составляет 64 бита или 8 байтов. Он способен хранить значения, которые сравнительно вдвое превышают размер байтов, которые может хранить тип данных с плавающей запятой. Вот почему он известен как двойной.

При просмотре всех 64 бит программа имеет 1 бит для представления знака, экспонента использует 11 бит, а оставшиеся 52 бита используются для мантиссы.

Этот тип данных может содержать около 15-17 цифр как после, так и перед десятичной дробью типа данных.

Тип данных с плавающей точкой имеет размер 4 байта.

Размер типа данных float в основном составляет 32 бита или 4 байта. Тип данных float имеет одинарную точность по своей природе, и мы используем его для хранения десятичных значений. Это помогает хранить различные большие значения, но float сравнительно быстрее, чем double. Это потому, что double работает со сравнительно большими значениями данных. Таким образом, он сравнительно медленнее.

Пустой тип данных — 0 байт.

Поскольку тип данных void не имеет значения, он вообще не имеет размера.

Существует ряд значений, подходящих для всех этих типов данных. Но прежде чем мы рассмотрим это, давайте взглянем на модификаторы, которые используются в типах данных.

Модификаторы типов данных в языке программирования C

Существует четыре основных типа модификаторов для всех типов данных, используемых в языке C. Мы используем их вместе со всеми основными типами данных для дальнейшей их классификации.

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

Очень похожим образом модификаторы в языке C помогают сделать первичные или примитивные типы данных более конкретными.

Вот несколько модификаторов:

  • короткий
  • длинный
  • без знака
  • подписано

Как следует из приведенных здесь имен, мы используем модификаторы без знака и знака для представления значений без знака (только +) и со знаком (- и +) в любом заданном типе данных. Кроме того, короткие и длинные модификаторы влияют на диапазон значений любого заданного типа данных.

Например, long int, short int, unsigned int, signed int и т. д. — все это очень допустимые типы данных в языке программирования C.

Теперь, если мы объединим все упомянутые выше модификаторы с пятью примитивными или первичными типами данных, то это приведет к образованию следующих типов данных:

Диапазон значений типа данных C

Диапазон всех типов данных языка C представлен в таблице ниже:

Тип данных Спецификатор формата Минимальный диапазон Типовой размер биты
беззнаковый символ от 0 до 255 8
символ от -127 до 127 8
подписанный символ от -127 до 127 8
целое число %д, %i -32 767 до 32 767 16 или 32
целое число без знака% от 0 до 65 535 16 или 32
подписанный инт %д, %i То же, что и целое число То же, что и целое

16 или 32

короткое целое %HD от -32 767 до 32 767 16
короткое целое без знака %ху от 0 до 65 535 16
подписанный короткий интервал %HD То же, что и короткое целое 16
длинное целое %ld, %li -2 147 483 647 до 2 147 483 647 32
длинное длинное целое %lld, %lli -(263-1) до 263-1 (будет добавлено стандартом C99) 64
подписанное длинное целое %ld, %li То же, что и long int 32
длинное целое без знака %лу от 0 до 4 294 967 295 32
длинный без знака

длинное целое

%llu 264 – 1 (будет добавлен стандартом C99) 64
поплавок %f от 1E-37 до 1E+37 вместе с шестью цифрами точности здесь 32
двойной %лв от 1E-37 до 1E+37 вместе с шестью цифрами точности здесь 64
длинный двойной %Лф от 1E-37 до 1E+37 вместе с шестью цифрами точности здесь 80

Как видно из приведенной выше таблицы, различные диапазоны и комбинации модификаторов и типов данных приводят к диапазону изменяющихся значений.

Необходимо использовать спецификатор формата, когда они хотят напечатать любое значение переменной в программе. Они должны сделать это в операторе printf().

Когда значение типа данных выходит за пределы допустимого диапазона

Всякий раз, когда мы пытаемся присвоить заданному типу данных какое-либо значение в программе, превышающее допустимый диапазон значений, компилятор языка C выдает ошибку.

Давайте рассмотрим пример, чтобы лучше понять это.

#include

интервал основной() {

// максимально допустимое значение в коротком целом со знаком равно 32767

подписанный короткий int x = 34767; 9

Всякий раз, когда мы используем модификатор типа, даже без использования какого-либо типа данных, программа устанавливает тип данных int как форму типа данных по умолчанию. Здесь signed будет ссылаться на signed int, unsigned будет ссылаться на unsigned int, short будет ссылаться на short int, а также long будет ссылаться на long int.

Значение Unsigned, а также Signed

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

Всякий раз, когда компилятор получает какое-либо числовое значение, он преобразует это самое значение программы в двоичное число. Это означает, что это будет комбинация различных единиц и нулей. Например, двоичное значение 1 — это 0001 или 01, двоичное значение числа 2 — 0010, число 32767 — 01111111 11111111 и многое другое.

Когда мы говорим о целых числах со знаком, мы используем самую первую цифру, начинающуюся слева (в двоичных значениях), или самый старший бит порядка в качестве флага знака. Число будет отрицательным, если флаг знака равен 1. И наоборот, оно будет положительным, если флаг знака равен 0.

И поскольку мы используем один бит, чтобы показать, является ли заданное число положительным или отрицательным, в самой программе число будет представляться на один бит меньше. Таким образом, диапазон здесь очень меньше.

Например, в случае целого числа со знаком двоичная цифра 11111111 11111111 будет означать число -32 767. Здесь первый бит будет служить флагом знака, который помечает его как отрицательное число. Остальные биты будут представлять фактическое число 32767. Та же самая двоичная цифра 11111111 11111111 будет означать 65 535 в случае целого числа без знака.

Производные типы данных в C

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

Таким образом, производные типы данных в основном являются первичными типами данных, но они немного более сгруппированы или запутаны, например, структура, массив, указатели, объединение и т. д. Посетите Производные типы данных в C , чтобы узнать больше.

Использование типов данных C

Тип данных C используется для определения типа данных, которые мы используем в программе. Давайте рассмотрим каждый из них подробно.

Тип данных char

Этот тип данных в основном относится ко всем символьным значениям, заключенным в одинарные кавычки. Кроме того, этот тип данных находится в диапазоне от -127 до 127.

Как мы видим, мы можем использовать любое из меньших целых значений в типе данных char.

Например,

символьный статус = ‘X’

Поплавок Тип данных

Мы используем тип данных float для хранения всех действительных чисел. Они могут иметь как экспоненциальную, так и десятичную часть (или дробную часть). Это в основном тип числа с одинарной точностью.

Например,

с плавающей запятой у = 127,675;

// с использованием суффикса f или F

с плавающей запятой х = 1000,5454F;

Как и тип данных int, мы также можем использовать тип данных float вместе с различными модификаторами.

Двойной тип данных

Мы храним в типе данных double такие числа, которые тип данных float не может хранить в программе (больше максимальной емкости типа данных float). Тип данных double — это, по сути, тип числа с двойной точностью. Он способен хранить от 15 до 17 значений как после, так и перед десятичной точкой.

Например,

двойной у = 424455236424564.24663224663322;

Человек будет использовать тип данных double в программе только тогда, когда это необходимо для хранения таких больших чисел. В противном случае мы не используем его, так как это сделает программу очень медленной.

Тип данных int

Мы используем тип данных int для хранения целых чисел, которые могут быть значениями, не имеющими экспоненциальной или десятичной части в числе.

Мы можем хранить восьмеричные (или с основанием 8), шестнадцатеричные (или с основанием 16) и десятичные (или с основанием 10) типы данных.

Например,

// простое целочисленное значение данных

интервал г = 310;

// отрицательное значение данных

г = -4260;

// значение данных без знака int с суффиксом u или U

инт z = 90U;

// длинное целое значение данных с суффиксом l или L

long int long_val = 87500L;

Когда мы используем в программе тип данных int, мы должны использовать суффикс «u» или «U», чтобы компилятор мог интерпретировать доступное значение беззнакового типа данных. С другой стороны, мы используем суффикс «l» или «L» при использовании значения типа long int в программе.

Практические задачи по типам данных в C

1. Какой из этих типов данных используется в языке C?

1. Целое число

2. Персонаж

3. Плавающая точка

4. Пустота

А. 1, 3 и 4

Б. 2, 3 и 4

С. 1, 2 и 3

Д. Все вышеперечисленное

Ответ – D. Все вышеперечисленное

2. Какие из этих типов данных являются базовыми или примитивными?

1. Целое число

2. Персонаж

3. Двойной

4. С плавающей запятой

5. Пустота

А. 1, 3 и 5

Б. 2, 4 и 5

С. 1, 2 и 4

Д. Все вышеперечисленное

Ответ – Д. Все перечисленное

3. Тип символьных данных находится в диапазоне от:

А. от -63 586 до 63 586

Б. от -127 до 127

С. от -50 до 50

Д. Имеет огромный ассортимент. Нет предела.

Ответ – A. от -63 586 до 63 586

4. Размер типа данных int:

1. 3 байта

2. 4 байта

3. 2 байта

4. 8 байт

А. 1 и 2

Б. 2 и 3

С. 3 и 4

Д. 1 и 4

Ответ – Б. 2 и 3

Часто задаваемые вопросы

Зачем нужны модификаторы в языке программирования C?

Существует четыре основных типа модификаторов для всех типов данных, используемых в языке C. Мы используем их вместе со всеми основными типами данных для дальнейшей их классификации.
Например, если мы говорим, что на столе лежит плитка шоколада, то человек, с которым мы говорим, знает, что на столе лежит плитка шоколада. Но если мы уточним и скажем, что на столе лежит плитка темного шоколада или плитка молочного шоколада, то это станет гораздо более ясным и конкретным для слушающего.
Очень похожим образом модификаторы в языке C помогают сделать первичные или примитивные типы данных более конкретными.
Вот несколько модификаторов:

  • короткий
  • длинный
  • без знака
  • подписано

Как следует из приведенных здесь имен, мы используем модификаторы без знака и знака для представления значений без знака (только +) и со знаком (- и +) в любом заданном типе данных. Кроме того, короткие и длинные модификаторы влияют на диапазон значений любого заданного типа данных.
Например, long int, short int, unsigned int, signed int и т. д. — все это очень допустимые типы данных в языке программирования C.

Что произойдет, если значение типа данных окажется вне допустимого диапазона?

Всякий раз, когда мы пытаемся присвоить какое-либо значение заданному типу данных в программе, превышающее допустимый диапазон значений, компилятор языка C выдает ошибку.
Давайте рассмотрим пример, чтобы лучше понять это.
#include
int main() { 9
Всякий раз, когда мы используем модификатор типа, даже без использования какого-либо типа данных, программа устанавливает тип данных int как форму типа данных по умолчанию. Здесь signed будет ссылаться на signed int, unsigned будет ссылаться на unsigned int, short будет ссылаться на short int, а также long будет ссылаться на long int.

Продолжайте учиться и следите за обновлениями, чтобы получать последние обновления об экзамене GATE, а также о критериях приемлемости GATE, GATE 2023, допускной карточке GATE, программе GATE для CSE (компьютерная инженерия), примечаниях GATE CSE, вопроснике GATE CSE и многом другом.

Также исследуйте,

  • Указатели в C
  • Разница между указателем на массив и массивом указателей
  • Массив указателей в C
  • Инкремент и основа системы счисленияОператоры декремента базы счисления в C
  • Логические операторы в C
  • Операторы в C
  • Реляционные операторы в C

С | Типы данных | Codecademy

В C типы данных — это единицы значения, хранящиеся в памяти через переменные. Различные типы данных определяют их размер и функциональность.

Статическая типизация

Подобно C++ и Java, C — это язык со статической типизацией, в котором типы переменных известны во время компиляции, а не во время выполнения. В этом случае типы должны быть явно указаны программистом.

Классификации типов данных, поддерживаемые в C, включают следующие:

  • Примитивные типы данных
  • Пользовательские типы данных
  • Производные типы данных

Типы также различаются объемом памяти, который они занимают, и диапазоном значений, которые они могут хранить. Это будет зависеть от компилятора компьютера. Целое число, например, может занимать 32 бита на одном компьютере или может храниться в 64 битах на другом.

Примитивные типы

Эти типы данных в основном являются числовыми (целые, двойные числа, числа с плавающей запятой и т. д.) и могут использоваться для арифметических операций, таких как вычитание и деление. Значения, использующие ключевое слово void (для отсутствия данных), также считаются примитивными типами данных.

Производные типы данных

Эти типы данных являются производными от примитивных или фундаментальных типов данных. В C они могут быть трех типов:

  • Массивы
  • Функции
  • Указатели

Пользовательские типы

Это набор данных со значениями, имеющими фиксированные значения, которые расширяют уже доступные примитивные типы. Пользователи определяют их на основе требований. C состоит из следующих определяемых пользователем типов:

  • Enum
  • Конструкции
  • Определение типа
  • Союз

Объем памяти

Тип Размер Диапазон значений
Символ 1 байт -128 — 127 или 0 — 255
Внутренний 4 байта -2 147 483 648 — 2 147 483 647
Поплавок 4 байта 1. 2E-38 — 3.4E+38
Двойной 8 байт 1.7Е-308 — 1.7Е+308

Int

Целые числа содержат только целые значения. Знак минус перед типом данных указывает, что значение отрицательное. Они могут быть выражены в шестнадцатеричной системе счисления (основание 16).

Примечание: Шестнадцатеричные целочисленные литералы всегда начинаются с 0 , за которым следует либо x , либо X , за которыми следуют различные комбинации цифр ( 0 9 7 9076 - 7 9061 a 9061 9061 f или A F ).

 
 

инт = 0;

интервал = -5;

инт = 20;

int rgbColor = 0XFFEF0D; // Шестнадцатеричный

Пробелы не допускаются между цифрами и значениями больше 999 не используйте запятые.

 
 

целых сотен = 12 000; // Это неверно

int сотни2 = 12000 // Это правильно

Float и Double

Значения с плавающей запятой — это нецелые числа, содержащие десятичные разряды. Они могут иметь точность до 6 знаков после запятой и могут быть выражены в экспоненциальном представлении.

Примечание: Научная нотация — это форма выражения чисел, которые слишком велики или слишком малы для удобной записи в десятичной форме (например, 6.022E23 ).

Двойные числа похожи на числа с плавающей запятой, но более точны и содержат до 15 знаков после запятой. Ниже приведен пример значений типа float и double :

 
 

float зарплата = 523,45;

двойной банктранзакция = 245.2518;

float counterFactor = 15.87E4;

Char

Символы используют одинарные кавычки ' для представления отдельных символов, таких как буквы, цифры, пробелы, специальные символы и символы. Каждый символ занимает в памяти только один байт. В C последовательности символов называются строками.