Типы данных в языке С

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

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

Типы данных

В языке программирования СИ или же СИ++ выделяется несколько типов, среди которых можно выделить основные, а также производные типы данных.

В список основных включены следующие:

  • целый тип – int;
  • пустой тип – void;
  • числа, в которых есть плавающая точка – float;
  • числа, в которых есть плавающая точка и которые имеют двойную точность – double;
  • логический– bool;
  • символьный– char.

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

  • статическая – процесс контроля происходит посредством реализации компиляции;
  • динамическая — процесс контроля происходит непосредственно тогда, когда выполняется программа.

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

Простые и сложные типы данных

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

  • типы вещественные;
  • типы целочисленные;
  • типы логические;
  • типы символьные.

Среди сложных, часто называемых составными типами, можно выделить следующие варианты:

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

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

  • длинный – long;
  • короткий – short;
  • беззнаковый – unsigned;
  • знаковый – signed.

Если же рассматривать производные типы, то здесь можно найти:

  • функции;
  • массивы;
  • указатели;
  • классы;
  • структуры;
  • ссылки;
  • объединения.

Целочисленные типы

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

Целые числа без использования знаков представлены в виде битов, размещенных в определенной последовательности, которые находятся в интервале чисел от 0 до 2n-1. В данном случае n указывает на число битов, которые используются.

Целые числа со знаками находятся немного в другом диапазоне, который составляет от -2n-1 до +2n-1-1. При этом, стоит обратить внимание на то, что самому старшему биту причисляется именно число 0. Числу положительного вида будет соответствовать 0, а отрицательному наоборот — 1.

Размеры и базовые типы данных, представленных в целочисленном формате, можно увидеть в следующей таблице:

Типы данных в языке С

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

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

Используется она до момента разделения между собой разных частей. Подобное представление в последующем нужно умножить на основание системы непосредственно в той степени, которая необходима. Если же рассматривать число 12345,678 в так называемой форме нормированного варианта, то его можно записать в виде 1,2345678*104.

Если же брать во внимание не десятеричную, а двоичную систему исчисления, то здесь в качестве наиболее значимого разряда, разделяющего части между собой, может выступать только 1. Если же выполнить представление числа в так называемой нормированной форме невозможно, то в качестве значащего разряда здесь может выступать 0.

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

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

Для того, чтобы представить вещественные числа, используется несколько типов данных, представленных в таблице:

Типы данных в языке С

Если же внимательно посмотреть в таблицу, то можно заметить, что у типов double и float отсутствует бит целого. При этом в состав самого диапазона вещественного числа сразу включено несколько симметричных диапазон.

Символьный тип

Данные, представленные в символьном типе, всегда в памяти компьютера занимает всего лишь 1 байт. Это вполне логично и объясняется тем, что под величины, представленные в символьном виде, выделяется ровно то количество памяти, которое необходимо для того, чтобы запомнить все 256 символов, находящихся на клавиатуре. Сам символьный тип может быть представлен в виде с использованием знака или же без него.

Если же рассматривать величины, представленные типом signedchar, то с его помощью можно осуществлять процесс хранения чисел, находящихся в диапазоне от -128 до 127. Если же брать соответствующие значения unsignedchar, то здесь все значения могут находиться в диапазоне от 0 до 255 символов.

Типы данных в языке С

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

Логический тип

Если же рассматривать переменную, представленную в логическом виде, то приобретать она может всего лишь нескольких значение, среди которых есть истина (true) и ложь (false). Все значения, которые не равны 0, расцениваются в качестве true, а если привести его к целому типу, то в виде числа это значение будет равно 1. В свою очередь false равняется 0, что является вполне логичным заключением.

Тип void (пустой)

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

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

Переменные и их объявления

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

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

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

Типы данных в языке С

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

  • глобальные – являются доступными из любого места программы, а также могут применяться к абсолютно любым функциям;
  • локальные – процесс объявления переменных происходит внутри конкретной функции;
  • формальные – процесс описания таких функций происходит непосредственно в списке параметров конкретной функции.

Поэтому, занимаясь изучением языка программирования СИ, в первую очередь нужно максимально детально ознакомиться с используемыми типами.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *