makroslar

DOC 5 pages 31.5 KB Free download

Page preview (5 pages)

Scroll down 👇
1 / 5
макрослар макрос – бу код бўлаги бўлиб, кўриниши ва ишлаши худди функциядек. бироқ у функция эмас. функциялар ва макрослар ўртасида бир нечта фарқлар мавжуд: · макрос ўз аниқланиши (танаси билан) билан препроцессор ишлаш пайтида, яъни программа компиляциясигача алмаштирилади. шу сабабли макрос функцияни чақириш билан боғлиқ қўшимча вақт сарфини талаб қилмайди; · макрослардан фойдаланиш программанинг бошланғич коди (матнини) кўпайишига олиб келади. бунга қарама-қарши ҳолда функция коди ягона нусхада бўлади ва программа кодини қисқаришига олиб келади. иккинчи томондан функцияга ҳар бир мурожаатни ташкил қилиш учун қўшимча вақт ресурслари сарфланади; · компилятор макросдаги турлар мослигини текширмайди. шу сабабли, макросга аргумент жўнатишда турларнинг мослиги ёки аргументлар сонининг тўғри келиши текширилмайди ва хатолик ҳақида хабар берилмайди; · макрос бошланғич кодга (матнга) программа бўлагини қўйиш воситаси бўлганлиги учун ва бундай бўлаклар матннинг турли жойларига қўйиш мумкинлиги сабабли макрослар билан боғлиқ ягона адреслар бўлмайди. шу сабабли макросларга кўрсатгичлар эълон қилиш ёки макрос адресларини ишлатиб бўлмайди. макросларни аниқлаш …
2 / 5
грамма матни келтирилган. #include #define pi 3.14159 #define kvadrat(x) ((x)*(x)) #define aylana_yuzi(r)(pi* kvadrat(r)) int main() { double r1=5,r2=10; double c1,c2; c1=aylana_yuzi(r1); #undef aylana_yuzi c2=aylana_yuzi(r2); cout #define uzg_nomi(uzg) cout #define macro_bir cout >x; return 0; } программма препроцессор томонидан қайта ишлангандан кейин унинг оралиқ матни куйидаги кўринишда бўлади: int main(int argc, char* argv[]) { int x=10; cout >x; return 0; } сатрларни улаш амалидан янги ўзгарувчисларни генерация қилиш учун фойдаланиш мумкин. #define uzg_eloni(i) int var ## i … uzg_eloni(1); … юқоридаги мисолда макрос аниқланиши билан алмаштириш натижасида “uzg_eloni(1);” сатри ўрнида int var1; кўрсатмаси пайдо бўлади.
3 / 5
makroslar - Page 3
4 / 5
makroslar - Page 4
5 / 5
makroslar - Page 5

Want to read more?

Download all 5 pages for free via Telegram.

Download full file

About "makroslar"

макрослар макрос – бу код бўлаги бўлиб, кўриниши ва ишлаши худди функциядек. бироқ у функция эмас. функциялар ва макрослар ўртасида бир нечта фарқлар мавжуд: · макрос ўз аниқланиши (танаси билан) билан препроцессор ишлаш пайтида, яъни программа компиляциясигача алмаштирилади. шу сабабли макрос функцияни чақириш билан боғлиқ қўшимча вақт сарфини талаб қилмайди; · макрослардан фойдаланиш программанинг бошланғич коди (матнини) кўпайишига олиб келади. бунга қарама-қарши ҳолда функция коди ягона нусхада бўлади ва программа кодини қисқаришига олиб келади. иккинчи томондан функцияга ҳар бир мурожаатни ташкил қилиш учун қўшимча вақт ресурслари сарфланади; · компилятор макросдаги турлар мослигини текширмайди. шу сабабли, макросга аргумент жўнатишда турларнинг мослиги ёки аргументлар сонининг тўғри ...

This file contains 5 pages in DOC format (31.5 KB). To download "makroslar", click the Telegram button on the left.

Tags: makroslar DOC 5 pages Free download Telegram