Статьи

Переменные в языке С

 

Переменные в языке C

Научившись управлять портами ввода/вывода, не мешало бы поработать с переменными и выводить на дисплей содержимое нашего МК (микроконтроллера). Ты ведь еще не очень знаком с типами переменных и зачем они вообще нужны? Если даже и знаешь вспомнить лишним не будет. А если что заполнишь пробелы в комментариях.

Тип Диапазон значений Шестнадцатиричные значения Размер
unsigned char (символьный) 0 ... 255 0x00 ... 0xFF 8 бит
char (символьный) -128 ... 127 -0x80 ... 0x7F бит
unsigned int (целочисленный) 0 ... 65535 0x0000 ... 0xFFFF 16 бит
int (целочисленный) -32768 ... 32767 0x8000 ... 0x7FFF 16 бит
unsigned long (цедочисленный) 0 ... 4294967295 0x00000000 ... 0xFFFFFFFF 32 бита
long (цедочисленный) -2147483648 ... 2147483647 0x80000000 ... 0x7FFFFFFF 32 бита
float (с плавающей точкой) 3.4е-38 ... 3.4е+38 - 32 бита
double (с плавающей точкой) 1.7e-308 до 1.7e+308 - 64
unsigned long long (цедочисленный) 0 ... 18446744073709551615 0x0000000000000000 ... 0xFFFFFFFFFFFFFFFF 64 бита
long long (цедочисленный) -9223372036854775808 ... 9223372036854775807 0x8000000000000000 ... 0x7FFFFFFFFFFFFFFF 64 бита

 

Тип char предназначен для хранения символов (расшифровывается как character - буква, символ), из него же состоят текстовые строки (string): массив из переменных типа char. Кстати, значения портов в микроконтроллере типа unsigned char. Является самой маленькой переменной, которую можно пихать куда угодно. Битовые переменные во многих случаях, применительно к МК использовать либо нельзя, либл не имеет смысла, ибо памяти выделяется на них столько же, сколько для переменной типа char. Вообще, в микроконтроллерах количество памяти весьма сильно ограничено, посему стоит внимательно относиться к ней и стараться оптимизировать свой код по мере необходимости.

 

Тип int используется для хранения целочисленных значений.

 

Тип float и double служат для хранения чисел с плавающей запятой, иначе говоря, для дробных чисел.

 

Объявление переменных:

char a, b; // a и b типа char

char a='a';

char b=255;

unsigned char port=0b10100011;

int c,d,j,k=0;

float y=0,05;

unsigned char mass[10]="десятьбукв";

int digitmass[10]={0,1,2,3,4,5,6,7,8,9};


Работа с переменными:

int a=6;

int b=5;

int c=0;

int digitmass[10]={0,1,2,3,4,5,6,7,8,9};

c=(a+b*a-b)/digitmass[3];

 

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

Нет комментариев

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