В езика за програмиране C, кратко вътр е тип данни, използван за съхраняване на цели числа. Това е модификатор на тип, който може да се използва с int тип данни за създаване на по-малка целочислена променлива, използваща по-малко памет от обикновения int.
The кратко вътр тип данни заема 2 байта памет, която е наполовина по-малка от обикновената int тип данни , и може да представлява цели числа в диапазона от -32 768 да се 32,767 .
Синтаксис на Short int
латексова матрица
Синтаксисът за деклариране на променлива short int е както следва:
short int variable_name;
Например, следният код декларира и инициализира a кратко вътр променлива с име възраст:
short int age = 25;
Променливите short int могат да доведат до грешки, ако не се използват внимателно. Това е така, защото те имат по-малък диапазон от стойности от int променливи и може да се препълни, ако им бъде присвоена стойност извън техния диапазон. Поради тази причина е важно да се гарантира, че стойностите, присвоени на променлива short int, са в нейния диапазон.
Освен това ключовата дума short може да се използва вместо the кратко вътр за деклариране на променлива от този тип. Следователно следните две декларации са еквивалентни:
short int variable_name; short variable_name;
Някои други допълнителни подробности за тип данни 'short int' са както следва:
Както споменахме по-рано, short int заема 2 байта памет, което е половината от размера на обикновен int тип данни. Размерът на short int се дефинира от имплементацията, което означава, че може да варира в зависимост от използваната платформа и компилатор. Въпреки това винаги е гарантирано, че е по-малък от обикновен int.
По отношение на обхвата от стойности, short int може да съхранява цели числа в обхвата на -32 768 да се 32,767 . Този диапазон може да се определи с помощта на SHRT_MIN и SHRT_MAX константи, които са дефинирани в граници.ч заглавен файл.
Типът данни short int обикновено се използва, когато има проблем с пространството в паметта или когато диапазонът от стойности, които се съхраняват в променливата, е в обхвата на short int. Някои примери за ситуации, в които може да се използва кратко int, включват:
- Във вградени системи, където паметта е ограничена.
- Когато създавате големи масиви от цели числа, където използването на паметта трябва да бъде оптимизирано.
- Когато е известно, че диапазонът от стойности, които се съхраняват в променливата, е в диапазона от a кратко вътр , като например съхраняване на възрастта на човек, която обикновено не надвишава 100 години .
The тип данни short int е модификатор на тип, което означава, че може да се използва в комбинация с други типове данни за създаване на нови типове данни. Например, следните са валидни декларации на променливи:
short int x; short y; short int *ptr; short int arr[10];
При извършване на аритметични или сравнителни операции между променливи от различни типове данни, C може да извърши неявни преобразувания, за да гарантира, че операциите се изпълняват правилно. Когато използвате променливи short int, е важно да сте наясно с тези преобразувания, тъй като те могат да доведат до неочаквано поведение. Например, разгледайте следния код:
#include int main() { short int x = 300; short int y = 200; short int z = x + y; printf('%d ', z); return 0; }
Изход:
500
Обяснение:
В този код, z i s е присвоена стойността на 500 , което е правилният резултат от добавянето х и и . Въпреки това, ако printf твърдението се променя на printf('%hu ', z), изходът ще бъде 244 , което е резултат от конвертирането 500 към неподписан кратко вътр . Това се случва, защото %hu се използва спецификатор на формат, който показва, че отпечатаната стойност трябва да бъде unsigned short int.
Когато извършва операции между променливи от различни типове данни, C може да извършва повишения и понижавания, за да гарантира, че операциите се изпълняват правилно. Повишение възниква, когато променлива от по-малък тип данни се преобразува имплицитно в променлива от по-голям тип данни, докато понижаване възниква, когато променлива от по-голям тип данни се преобразува имплицитно в променлива от по-малък тип данни. Когато използвате променливи short int, е важно да сте наясно с тези повишения и понижения, тъй като те могат да повлияят на резултатите от аритметичните и сравнителните операции.
Ако short int променлива се декларира без да се инициализира, стойността му е недефинирана. С други думи, може да съдържа всякаква стойност, включително отрицателна стойност или стойност извън обхвата на кратко вътр . Поради това е добра практика винаги да се инициализират променливите до известна стойност, когато се декларират.
нулева проверка в java
Кастинг е процес на преобразуване на променлива от един тип данни в друг. Когато прехвърляте променлива към a кратко вътр , стойността на променливата се съкращава, за да се побере в диапазона от кратко вътр . Например, разгледайте следния код:
int x = 500; short int y = (short int) x;
В този код стойността на х е 500 , което е извън обхвата на късите вътр. Въпреки това, когато х е отлят на a кратко вътрешно, стойността е съкратена, за да се побере в диапазона от кратко вътр , в резултат на което и се присвоява стойността на -12 . Следователно, когато преобразувате променливи, е важно да се гарантира, че получената стойност е в обхвата на типа данни, който се преобразува.
По подразбиране, кратко вътр е подписан тип данни , което означава, че може да представлява както положителни, така и отрицателни стойности. Възможно е обаче и деклариране кратко вътр като неподписан тип данни, използвайки unsigned short int или неподписана кратка ключова дума . Unsigned short int може да представлява само неотрицателни стойности, но диапазонът му се удвоява до 0 да се 65,535 .
двоично дърво за преминаване по пощата
От кратко вътр е по-малък тип данни от вътр , то може да бъде имплицитно повишено до int, когато се използва в аритметика или операции за сравнение с int. Това означава, че а кратко вътр може да се използва навсякъде вътр се очаква, без да е необходим изричен актьорски състав.
Размерът на кратко вътр може да варира в зависимост от използваната платформа и компилатор. За да се гарантира преносимостта на кода между различни платформи, се препоръчва използването на stdint.h заглавен файл , който дефинира цели числа с фиксиран размер със специфични ширини и знак. Например, на тип int16_t е 16-битов целочислен тип със знак , което е еквивалентно на кратко вътр на повечето платформи.
При деклариране на масив от short int стойности всеки елемент от масива е достъпен с помощта на индекс. Индексът може да бъде цял литерал или променлива от тип int. Ако обаче индексът е променлива от тип кратко вътр , той автоматично ще бъде повишен до an вътр преди да се използва за достъп до масива. Например:
short int arr[10]; short int i = 5; short int val = arr[i]; // i is promoted to int before being used as an index
кратко вътр може да се използва за битови операции, като напр преместване и маскиране . При смяна на a кратко вътр стойност, резултатът е кратка int стойност. Въпреки това, когато използвате побитови оператори като & и |, кратките int стойности първо се повишават до int преди операцията да бъде изпълнена.
В някои случаи използването на short int вместо int може да подобри производителността, особено на платформи с ограничена памет или мощност на обработка. Това обаче зависи от конкретното приложение и използвания хардуер и трябва да се тества за всеки отделен случай.
Езикът C предоставя суфикс за инициализиране на променливи с тип short int. Наставката 'с' или 'С' може да се използва с постоянна стойност за изрично указване на константа short int. Например:
Short int x=10s;