Навъи тағйирёбандаҳо дар С++

Ба дигарон равон намоед

Навъи тағйирёбандаҳо. Навъҳои стандартӣ ва мураккаб.

Чӣ хеле ки дар мавзӯҳои гузашта таъриф дода шуда буд, дар зери мафҳуми тағйирёбанда ҷуфти «ном» ва «қимат»-ро мефаҳманд. Ба «ном»-и тағйирёбанда адреси ячейкаи хотираи барои ин тағйирёбанда ҷудошуда, ва ба «қимат» маълумоти дар ин ячейка ҷойгирбуда мувофиқ аст. Номи тағйирёбанда индентификатор буда қимати тағйирёбанда ба навъи он мувофиқ аст.

Навъи тағйирёбанда маҷмӯи қиматҳои имконпазири тағйирёбанда ва тарзҳои иҷрокунии амалҳо бо ин тағйирёбандаро муайян мекунад. Ҳамин тариқ, навъҳои ҳақиқӣ, бутун ва рамзӣ дохил карда мешаванд. Навъҳои бутун ва ҳақиқӣ навъҳои арифметикӣ номида мешаванд.

Навъи тағйирёбандаҳо ҳангоми эълон ё муайянкунии он муайян карда мешаванд. Умуман, дар забони С++, ҳар як тағйирёбанда пеш аз истифодабарӣ бояд эълон ё муайян карда шавад. Дар оянда, дар зери мафҳуми «эълонкунӣ» дохилкунии объект (тағйирёбанда) фаҳмида мешавад. Ин дохилкунӣ ба компилятор маълум мекунад, ки дар барнома объекти эълоншуда истифода бурда мешавад. Дар зери мафҳуми «муайянкунӣ» эълон ва ҷудокунии хотира барои нигоҳ доштани қимати ин объект фаҳмида мешавад.

Барои эълонкунӣ ва муайянкунии навъҳои стандартӣ калимаҳои кории зерин истифода бурда мешаванд:

  • ·        char (рамзӣ);
  • ·        short (бутуни кӯтоҳ);
  • ·        int (бутун);
  • ·        long (бутуни дароз);
  • ·        float (ҳақиқӣ);
  • ·        double (ҳақиқӣ бо саҳеҳии дучанда);
  • ·        void (холӣ, озод).

Барои эълон кардани тағйирёбанда, аввал навъи он ва баъд номи он нишон дода мешавад. Масалан эълонкуниҳои зерин дуруст мебошанд:

char a;

int b;

double pi;

Мисоли эълонкуниҳои нодуруст:

char 3d; ё int new;

шуда метавонанд, барои он ки номи тағйирёбандаҳои эълоншаванда идентификатор шуда наметавонанд.

Ҳангоми эълонкунии тағйирёбанда онро якбора муайян кардан низ мумкин аст. Барои ин, ҳангоми эълонкунӣ ба тағйирёбанда ягон қимат бахшидан лозим аст. Ин тарзи мауйянкунии тағйирёбандаро «бахшидани қимати аввала ҳангоми эълонкунӣ» меноманд. Масалан, муайянкуниҳои зерин дуруст мебошанд:

char newsimbol = ’\n’;

long filebegin = 0;

double pi = 3.1415926535897932385;

Барои нишон додани навъ метавонем якҷоя аз якчанд навъҳои стандартӣ истифода барем. Масалан, эълонкунии

long double zebra, stop;

ба барнома тағйирёбандаҳо бо номҳои zebra ва stop-и навъи ҳақиқии саҳеҳиашон баландро дохил менамояд (вале муайян намекунад).

Инчунин, навъҳои дигар бо воситаи навъҳои стандартии арифметикӣ ва калимаҳои кории префиксии unsigned (беаломат) ва signed (аломатдор) метавонанд сохта шаванд. Масалан,

unsigned int i, j, k;

unsigned long L, M, N;

Эълонкунӣ (муайянкунӣ) бо навъҳои int, char, short, long ва эълонкунӣ (муайянкунӣ) бо навъҳои signed intsigned char, signed short, signed long баробарқувва мебошанд. Барои ҳамин ҳам, ҳангоми истифода аз ин навъҳо калимаи signed-ро наменависанд. Истифодаи танҳо навъи unsigned ба истифодаи навъи unsigned int баробар аст.

Тағйирёбандаҳои навъашон якхела миқдори якхелаи хотираро ишғол мекунанд, ва ин миқдорро бо ёрии амали sizeof ҳамавақт метавонем ҳисоб кунем.

Навъҳои мурракаб бо комбинатсия ё гурӯҳбандии навъҳои дар боло номбаршуда аз тарафи барномасоз сохта мешаванд. Мисоли навъҳои мураккаб массивҳо, структураҳо, классҳо ва ғайра шуда метавонанд.

Маводҳои ҳамсон