Другое

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

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);

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

Заключение

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

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

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

Что такое платежная система LiqPay. Правила предоставления услуг
Другое

Что такое платежная система LiqPay. Правила предоставления услуг

Что делать, если не удается открыть файл Office Open XML: как исправить
Другое

Что делать, если не удается открыть файл Office Open XML: как исправить

Разработка ПО и стадии жизненного цикла программного обеспечения
Другое

Разработка ПО и стадии жизненного цикла программного обеспечения

Переполнение буфера: технические особенности, ошибки и предупреждение
Другое

Переполнение буфера: технические особенности, ошибки и предупреждение

×