Другое

Инициализация, присваивание и объявление переменной в Си, ошибки

Lorem ipsum dolor

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

Напомним, переменная — это  имя «куска памяти», который будет временно сохранять какую-то информацию. Работа переменных тесно связана с оперативной памятью устройства. Когда мы объявляем переменную в коде, то, фактически, мы говорим компилятору в устройстве: «выдели немного оперативной памяти вот для такого-то значения».  Если в момент объявления переменной сделать какую-то ошибку, тогда может возникнуть проблема с оперативной памятью. Допустим, выделится недостаточное количество памяти или, наоборот, переменная употребит слишком много памяти и др.

Инициализация переменной в С

Почему важна правильная инициализация переменной в С?  Любая информация, которая попадает внутрь компьютера, преобразуется в последовательность битов. Бит — это минимальное значение в памяти, которое может быть двух значений: «0» или «1». Если рассмотреть какой-то «кусок памяти» в компьютере, тогда можно увидеть, что он похож на нечто такое: «010110110011001110100110».

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

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

Основные типы переменных в С

Рассмотрим основные типы переменных в С. Важно их понимать, потому что:

  • размер выделенной памяти зависит от типа переменной;

  • представление переменной в памяти также зависит от типа переменной.

К целым типам данных относятся:

  • «char» с размером 1 байт;

  • «short» с размером 2 байта;

  • «int» с размером 4 байта;

  • «long» с размером 4 байта;

  • «long long»  с размером 8 байт.

Важно отметить, что для переменных С с указанными типами данных размер в байтах может  немного изменяться. Здесь важна иерархия, что у «char» всегда будет минимальный размер, а у «long long» максимальный среди типов с целыми значениями.

К типам данных с плавающей точкой относят:

  • «float» с размером в 4 байта;

  • «long float» с размером в 8 байт;

  • «double» с размером в 8 байт;

  • «long double» с размером в 8 байт.

Каждому типу данных относится максимальное значение, которое можно ему задать. Язык программирования С не отслеживает переполнение переменной. Поэтому, если значение переменной постоянно увеличивать, тогда наступит момент, когда переменная «переполнится» и произойдет сброс значений.

Как происходит объявление, присвоение и инициализация переменной в С

При объявлении переменной в С важны 2 вещи:

  • тип переменной;

  • имя переменной.

Объявим несколько переменных с разными типами данных:

bool myVar;

char myVar;

int myVar;

float myVar;

double myVar;

 

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

Инициализация переменной в С — это присвоение ей значения в момент ее объявления. Инициализировать переменную в С можно двумя способами:

  1. «Копирующая инициализация». Происходит при помощи знака «равно» и выглядит вот так: «int myVar = 7».

  2. «Прямая инициализация». Происходит при помощи «круглых скобок» и выглядит вот так: «int myVar(7);».

Инициализация переменной в С — когда переменной задается значение в момент ее объявления. Но если переменной задать значение после ее объявления, тогда получается операция «присвоение переменной». Вот как это выглядит в коде:

int myVar;

myVar = 7;

Если вы хотите объявить и инициализировать несколько переменных одного типа данных, тогда это можно сделать в одной строке. Например: 

int firstVar = 7, secondVar = 8;

или:

int firstVar(7), secondVar(8);

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

Заключение

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

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

Схожие статьи

Тестирование интерфейса: лучшие бесплатные инструменты UI Testing
Другое

Тестирование интерфейса: лучшие бесплатные инструменты UI Testing

Все про язык Swift: многопоточность, базовые операторы, функции
Другое

Все про язык Swift: многопоточность, базовые операторы, функции

Data science: курсы для начинающих, которые действительно стоит изучить
Другое

Data science: курсы для начинающих, которые действительно стоит изучить

Компьютерное зрение: определение, алгоритмы и технологии
Другое

Компьютерное зрение: определение, алгоритмы и технологии