o‘zgaruvchiga berilgan qiymat o‘zgarmas bo‘lishi kerak. Umuman olganda, bir
nechta o‘zgaruvchilarni e’lon
qilishda, ulardan ixtiyoriy birini (yoki barchasini)
initsializatsiya qilish mumkin.
Masalan:
int x, y=10, z;
float x1=5.7, x2=1.3;
unsigned int max=0;
O‘zgaruvchini e’lon qilish kompyuter xotirasidan joy ajratilishiga olib keladi.
Bunda xotiradagi ma’lumot o‘chmaydi va o‘zgaruvchining qiymati aniqlanmaydi.
Initsializatsiya esa xotira yacheykasi ajratilganda, unga o‘zgaruvchining dastlabki
qiymati yozilishiga olib keladi.
Global va lokal o‘zgaruvchilar nolga yoki
foydalanuvchi tomonidan
aniqlangan boshlang‘ich qiymat bilan boshlanadi. Global o‘zgaruvchilar dastur
boshlanganda bir marta ishga tushiriladi. Lokal o‘zgaruvchilar esa biror blok ichida
qayta ishga tushiriladi. Masalan:
for(int i=1; i<10; i++)
{
int k=0;
k++;
}
С standartida siz o‘zgaruvchini faqat o‘zgarmas bilan boshlashingiz mumkin.
C ++ dasturlash tilida esa nafaqat o‘zgarmas, balki oldin aniqlangan o‘zgaruvchilar
qiymatlaridan foydalangan holda ham ifodani boshlash mumkin.
Agar
int yoki
char turidagi qiymatlar, o‘zgaruvchining ma’lumotlar
turini
qiymatlari doirasidan tashqarida joylashgan o‘zgarmas
bilan ishga tushirilsa, u
holda o‘zgaruvchining qiymati, ma’lumot turining bitdagi hajmiga bo‘lgandagi
qoldiqqa teng bo‘ladi.
Masalan:
char ch=260;
Bunda
ch o‘zgaruvchining qiymati 4 ga teng bo‘ladi (char tipi xotiradan 8 bit
joy egallaydi. Shu sababli, 260 ni 8 ga bo‘lsak 4 qoldiq hosil bo‘ladi).
Agar
float yoki
double tipidagi qiymat o‘zgaruvchining ma’lumotlar turi
diapazonining yuqori musbatidan katta yoki pastki manfiy chegarasidan kichik
bo‘lgan o‘zgarmas bilan boshlanadigan bo‘lsa, u holda o‘zgaruvchining
qiymati
aniqlanmaydi, chunki xotirada joy qolmaydi. Agar o‘zgarmasni qiymati
o‘zgaruvchining ma’lumotlar turi diapazoni pastki musbatidan yuqori va yuqori
manfiy chegarasidan katta bo‘lsa, u holda o‘zgaruvchi nolga tenglashtiriladi.
Masalan:
float f1=5e-50, f2=5e+50;.
Bunda
f1 o‘zgaruvchi 0 qiymat qabul qiladi.
f2 o‘zgaruvchiga esa + INF
(cheksizlik) qiymat o‘zlashtiriladi.
Agar
int yoki
char tipidagi belgilangan o‘zgaruvchiga, qiymati
o‘zgaruvchining ma’lumotlar turi qiymatlari oralig‘ida bo‘lmagan
qiymat bilan
ishga tushirilsa, uning qiymati to‘ldiruvchi raqam sifatida qabul qilinadi.
Masalan:
short int x=65000;
Bunda
x o‘zgaruvchisi –536 qiymatiga ega bo‘ladi (
short int tipi tarkibida –
32767... 32767 oralig‘idagi 65536 ta son mavjud. Shu sababli, x=65000-65536= -
536 qiymat qabul qiladi).
Agar
int yoki
char tipidagi belgilanmagan o‘zgaruvchiga, qiymati
o‘zgaruvchining ma’lumotlar turining oralig‘ida bo‘lmagan, lekin belgilangan bir
xil qiymatlari oralig‘ida joylashgan o‘zgarmas bilan ishga tushirilsa, qiymat
to‘g‘ridan-to‘g‘ri koddagi raqam sifatida ko‘rib chiqiladi va o‘zgaruvchiga
berilgan qiymat musbat son bo‘ladi. Masalan:
unsigned short a=-10;
Bunda
a o‘zgaruvchi 65526 qiymat qabul qiladi (
a=65536-10=65526).