Dinamik va statik dasturni farqlash


Download 14.47 Kb.
Sana11.01.2022
Hajmi14.47 Kb.
#310727
Bog'liq
Aysha
Bill Geytsning falsafasi, Bill Geytsning falsafasi, 10 sinf informatika test, trebovania-1, Aplikasi Pedagogi Hikmah bagi Pengajaran Bahasa Malaysia, POKISTON TA, Javoblar soliq, Ком. пред. ТГТУ QR-book ТГТУ, Qidiruv tizimi, extimol, Namangan davlat universiteti maktabgacha ta’lim kafedrasi, Namangan davlat universiteti maktabgacha ta’lim kafedrasi, Psixologiya, Psixologiya

Dinamik va statik dasturni farqlash

int x;


int main() {

x = 14;


f();

g();


}

void f() {

int x = 13;

h();


}

void g() {

int x = 12;

h();


}

void h() {

printf("%d\n",x);

}

Statik kontekst ishlatilsa, natija nima? Agar dinamik miqyosda ishlatilsa, natijasi qanday?



Agar hozirda kompilyatsiya qilish huquqini tushunsam, statik va dinamik miqyosdagi farqlar statik mahalliy sinflarga o'zgaruvchilarni keltirib chiqaradi. x qiymati void f () , void g () va int main () void g () dan 12) va faqat x barcha qadriyatlarini ishlatishi mumkinmi?

Men butun dunyo bo'ylab qanday qilib ishlayotganini bilmayman. Bilaman, agar C bo'lsa-da, statik miqyosni ishlatadi.



Statik to'plamlar x kodi x bildirilgan eng kuchli bayonoti ko'lamini degan ma'noni anglatadi. h global miqyosda e'lon qilinganligi sababli, x butun dunyo miqyosidagi (bu x s ga kirish imkoni yo'q) f va g ), shuning uchun dastur 14 ikki marta bosib chiqaradi.

Dinamik miqyosda x , chaqiriq stack ning eng so'nggi ramkasida e'lon qilingan x degan ma'noni anglatadi. Agar C dinamik miqyosni ishlatsa, h x dan f yoki g dan foydalanishi mumkin - qaysi biri uni chaqirgan bo'lsa - shuning uchun dastur 13 va 12 ni bosadi.
Download 14.47 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2022
ma'muriyatiga murojaat qiling