|
Shamiyeva Dildoraning dasturlash tillari fanidan amaliy topshirig`i 4Bog'liq Shamiyeva Dildoraning dasturlash tillari fanidan amaliy topshirig4.2Xotiradagi hajmni hisoblash sizeof amalining ikki ko'rinishi mavjud:
sizeof ifoda masalan: sizeof (3.14)=8
sizeof (tur) masalan: sizeof(char)= 1
Shuni ta’kidlab o iish lozimki, sizeof funksiyasi preprotsessor qayta
ishlash jarayonida bajariladi, shuning uchun dastur bajarilish jarayonida
vaqt talab etmaydi.
Misol uchun:
sizeof 3.14=8
247
sizeof (3.14f)=4
sizeof 3.14L=10
sizeof(char) = l
sizeof(double)=8.
Lokal va global o‘zgaruvchilar. C ++ tilida o‘zgaruvchi ta’rifi albatta
blok boshida joylashishi shart emas.
0 ‘zgaruvchi m avjudlik sohasi deb, shu o'zgaruvchiga ajratilgan
xotira m avjud b o ig an dastur
qism iga aytiladi. 0 ‘zgaruvchi ko‘rinish
sohasi deb, o‘zgaruvchi qiym atini olish m um kin b o ig an dastur
qismiga
aytiladi. Biror blokda ta’riflangan o‘zgaruvchi lokal o‘zgaruvchi
deyiladi. Har qanday blokdan tashqarida ta'riflangan o‘zgaruvchi global
o‘zgaruvchi deyiladi.
Lokal o‘zgaruvchi mavjudlik va ko‘rinish sohasi
ta’rifdan. to shu ta’rif
joylashgan blok oxirigacha bajariladi.
Tashqi blokdagi o‘zgaruvchi nomi shu blokda joylashgan yoki shu
blokdagi ichki blokda o‘zgaruvchi nomi bilan bir xil boim
asligi kerak.
Global o‘zgaruvchi m avjudlik sohasi ta'rifdan, to dastur oxirigacha
b o iad i. A gar ichki blokdagi q‘zgaruvchi nomi global o‘zgaruvchi nomi
bilan bir xil b o isa , lokal o‘zgaruvchi ko‘rinish sohasida global
o‘zgaruvchiga kvalifikatsiya ope
ratori yordam ida m urojaat qilish
mumkin.
Misol:
^include < iostream >
using namespace std;
int i=5;
int main()
{
int i=9;
c o u t « i« e n d l;
c o u t« ::i;
return 0;
}
Natija:
9
5
Nomlar fazosi. C + + tilida nom lar fazosi (namespace) mexanizmi
ilovani bir necha sohalarga ajratish imkonini beradi. Nomlar fazosini
e`lon
qilish uchun namespace kalit so‘zidan foydalaniladi:
namespace< identifikator> {[< e’lon qilish >]}
Eng yuqori k o iin ish sohasi global nomlar fazosi deb ataladi. Global
nomlar fazosiga murojaat qilish sintaksisi. ::globalNom;
Standart nomlar fazosi std deb nomlanadi va C + + standart
kutubxonaluriga kirgan hamma nomlarni o‘z ichiga oladi.
Masalan:
#include < iostream >
//include
using namespace std;
int main(void)
{ . ;:,„.rnu sbJilpin'o rjv jn rt ,
string name;
c o u t « "What is your name my lord?" « e n d l;
c i n » name;
c o u t « "
\
nHello Sir" « name.c_strO « endl;
return 0;
} j •! >
Global nomlar fazosidan foydalanib, bu dasturni yozish uchun global
ruxsat berish operatoridan foydalanish lozim bo‘ladi:
//include < iostream >
//include
int main(void)
{
std::string name;
std ::co u t« "What is your name my lord?" <
std ::c in » name;
std ::eo u t« "
\
nHello Sir" « name.c_str() « std::endl;
return 0;
}
Shunday qilib standart nomlar fazosidan foydalanish dasturlashni
yengillashtiradi
|
| |