c data types
Научете всичко за Типове данни в C ++ с примери.
В това Пълни уроци за обучение на C ++ , ще обсъдим типовете данни в C ++ в този урок.
Вече видяхме идентификатори, които се използват за идентифициране на различни обекти в C ++ по име. Освен идентификаторите, ние също знаем, че променливата съхранява информация или данни.
За да свържем данни с променливата, ние също трябва да знаем какви данни ще асоциираме точно, т.е. дали променливите съхраняват само азбуки или числа или и двете. С други думи, трябва да ограничим данните или информацията, които трябва да се съхраняват в променлива.
Точно тук се появява типът данни в картината. Можем да кажем, че типовете данни се използват, за да кажат на променливата какъв тип данни трябва да съхранява. Въз основа на типа данни, присвоен на променлива, операционната система разпределя памет и решава какъв тип данни да се съхраняват в променливата.
Какво ще научите:
Видове данни
C ++ поддържа два вида данни, които да се използват със своите програми.
- Примитивни / стандартни типове данни
- Потребителски дефинирани типове данни.
По-долу е дадено изобразителното представяне на типовете данни в C ++.
Примитивни или стандартни типове данни
Примитивните типове данни са вградените типове, които езикът C ++ предоставя. Можем директно да ги използваме, за да декларираме обекти като променливи, константи и др. Като алтернатива можем да ги извикаме и като предварително дефинирани типове данни или стандартни типове данни.
Следват различните примитивни типове данни, които C ++ поддържа със съответните им ключови думи:
- Цяло число => int
- Символ => char
- Плаваща точка => плаваща
- Двойна плаваща точка => двойна
- Boolean => bool
- Тип Void или безполезен => void
- Широк знак => wchar_t
Потребителски дефинирани типове данни
В C ++ можем също да дефинираме собствените си типове данни като клас или структура. Те се наричат дефинирани от потребителя типове.
Различни дефинирани от потребителя типове данни в C ++ са изброени по-долу:
- Typedef
- Изброяване
- Клас или обект
- Структура
От тези типове класът данни се използва изключително с обектно-ориентирано програмиране в C ++.
Примитивни типове данни
Следващата таблица показва всички примитивни типове данни, поддържани от C ++, заедно с различните му характеристики.
Тип данни | Ключова дума C ++ | Тип стойност |
---|---|---|
Широк характер | wchar_t | Символ, включително Unicode низове |
Характер | char | Символ (ASCII стойности) |
Цяло число | инт | Числови цели числа |
Плаваща точка | плувка | Десетични стойности с единична точност |
Десетична запетая | двойно | Стойности с двойна точност с плаваща запетая |
Булев | bool | Истина или лъжа |
нищожен | нищожен | Без стойност (без стойност) |
Модификатори на типа данни
Примитивните типове данни, които съхраняват различни стойности, използват обекти, наречени модификатори на типа данни, за да променят дължината на стойността, която могат да държат.
Съответно в C ++ присъстват следните типове модификатори на данни:
- Подписано
- Неподписано
- Къс
- Дълго
Обхватът на данните, представен от всеки модификатор, зависи от компилатора, който използваме.
Програмата по-долу създава различните размери на различни типове данни.
#include using namespace std; int main() { cout<<'Primitive datatypes sizes: '< Изход:
Примитивни типове данни:
кратко int: 2 байта
неподписан кратък int: 2 байта
int: 4 байта
неподписан int: 4 байта
long int: 8 байта
unsigned long int: 8 байта
long long int: 8 байта
unsigned long long int: 8 байта
char: 1 байт
подписан знак: 1 байт
неподписан знак: 1 байт
float: 4 байта
двойно: 8 байта
дълго двойно: 16 байта
wchar_t: 4 байта
Екранна снимка за този изход е дадена по-долу.
Както виждаме, използвайки размера на оператора, можем да получим максималния размер на данните, който всеки тип данни поддържа.
Всички тези типове данни и съответните им размери могат да бъдат таблично представени по-долу.
Тип данни Ширина на битовете Обхват кратко int 2 байта 32768 до 32767 char 1 байт 127 до 127 или 0 до 255 неподписан знак 1 байт 0 до 255 подписан знак 1 байт 127 до 127 инт 4 байта 2147483648 до 2147483647 неподписан int 4 байта 0 до 4294967295 подписано междун 4 байта 2147483648 до 2147483647 неподписано кратко int Обхват 0 до 65 535 подписан кратък инт Обхват 32768 до 32767 дълъг инт 4 байта 2 147 483 647 до 2 147 483 647 подписан дълъг инт 4 байта същото като long int неподписан дълъг int 4 байта 0 до 4 294 967 295 плувка 4 байта +/- 3.4e +/- 38 (~7 digits) двойно 8 байта +/- 1.7e +/- 308 (~ 15 цифри) дълъг двойник 8 байта +/- 1.7e +/- 308 (~ 15 цифри) wchar_t 2 или 4 байта 1 широк символ
Това е всичко за примитивните типове данни в C ++. Потребителски дефинирани типове данни
Тези типове данни, както самото име предполага, се дефинират от самия потребител. Тъй като те са дефинирани от потребителя, те могат да бъдат персонализирани според изискванията на програмата.
Typedef
Използвайки декларацията typedef, ние създаваме псевдоним или друго име за типа данни. След това можем да използваме този псевдоним, за да декларираме повече променливи.
Например разгледайте следната декларация в C ++:
typedef int age;
Чрез тази декларация създадохме псевдоним за типа данни int.
Следователно, ако искаме да декларираме нещо подобно, тогава можем да използваме псевдонима вместо стандартния тип данни, както е показано по-долу:
age num_of_years;
Имайте предвид, че псевдонимът е просто друго име за стандартния тип данни, той може да се използва по подобен начин като стандартните типове данни.
Изброяване
Изброяването в C ++ е дефиниран от потребителя тип данни, който се състои от набор от стойности със съответстващи интегрални константи за всяка стойност.
Например, можем да декларираме дните от седмицата като изброен тип данни, както е показано по-долу:
enum daysOfWeek {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday};
По подразбиране интегралните константи за всяка от стойността на изброяването започват с нула. Така че „неделя“ има стойност 0, „понеделник“ има 1 и така нататък.
Можем обаче да променим и стойностите по подразбиране от началото на междупосочността, както следва:
enum daysOfWeek {Sunday, Monday, Tuesday=5, Wednesday, Thursday, Friday, Saturday};
Тук неделя ще има стойност 0, понеделник ще има стойност 1, а вторник ще има стойност 5, която сме задали. След вторник оставащите стойности ще имат 6, 7 и така нататък в продължение на предишната стойност (в този случай 5).
Нека използваме това изброяване, което декларирахме по-рано в следната програма:
#include using namespace std; enum daysOfWeek {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday}; int main() { daysOfWeek today; today = Thursday; cout<<'This is day '< Изход:
Това е ден 4 от седмицата
Екранна снимка за същото е дадена по-долу
Горната програма се обяснява сама по себе си. Дефинирали сме изброяването и след това създаваме неговата променлива тип, за да изведем деня от седмицата.
Клас
В C ++ можем да дефинираме още един дефиниран от потребителя тип, наречен “Class”. Класът не е нищо друго освен колекция от предмети. Класът действа като план за обект и с помощта на дефиницията на класа можем да проектираме различни проблеми в реално време.
най-добрата безплатна защитна стена за Windows XP
Например, помислете за клас с име „Студент“, който ще бъде дефиниран както следва:
class student{ char* name; int age; public: void printDetails() { cout<<”Name: “<След като дефинираме този клас, можем да използваме името на класа, за да декларираме променливи от тип клас. Тези променливи от клас клас не са нищо друго освен обекти.
Така декларираме обект от тип студент, както следва:
student s1; s1.printDetails();
Както е показано по-горе, ние също можем да получим достъп до членовете на този клас, които са публични. Ще видим класовете и обектите в детайли, когато покрием обектно-ориентирано програмиране в C ++.
Структура
Структура в C ++ е подобна на тази в C>. Всъщност концепцията за структурата в C ++ е директно възприета от езика C. Като клас структурата е и колекция от променливи от различни типове данни. Но класът има както променливи, така и методи, които работят с тези променливи или членове, както ги наричаме.
Структурите, от друга страна, имат само променливи като членове.
Можем да дефинираме човек по структура, както следва, използвайки ключовата дума struct:
struct employee{ Char name[50]; Float salary; Int empId; };
След като структурата е дефинирана, можем да декларираме променлива от тип struct, както следва:
Employee emp;
Тогава можем да осъществим достъп до членовете на структурата, като използваме променливата на структурата и оператора за достъп на членове (точков оператор).
Заключение
Ще научим повече за структурата и класа и разликите между тях, след като започнем с обектно-ориентираното програмиране в C ++.
В нашия предстоящ урок ще изследваме променливите C ++ и другите му аспекти.
=> Проверете тук уроците за задълбочено обучение за C ++
Препоръчително четене
- Типове данни на Python
- Видове тестове за миграция: С тестови сценарии за всеки тип
- Абстракция на данни в C ++
- Топ 10 на инструментите за наука за данни през 2021 г. за премахване на програмирането
- Параметризиране на данни на JMeter, използвайки дефинирани от потребителя променливи
- 10+ най-добри инструменти за събиране на данни със стратегии за събиране на данни
- Обектно-ориентирано програмиране в C ++
- 10+ най-добри инструмента за управление на данни, които да отговорят на вашите нужди от данни през 2021 г.