СИ тіліндегі динамикалық жады


Жұмыс түрі: Реферат
Тегін: Антиплагиат
Көлемі: 18 бет
Таңдаулыға:
Батыс Қазақстан инженерлік-технологиялық университеті
КУРСТЫҚ ЖҰМЫС
Тақырыбы:
«СИ++ тіліндегі динамикалық
жады»
Орындаған: ИС-11 топ студенті Кенжалина Ш. Н.
Тексерген: Жахиена А. Г.
Орал, 2012ж.
Мазмұны
Кіріспе . . . 3
1 тарау. С\С++ программалау тілдерінің мүмкіндіктері мен ерекшеліктеріне шолу
1. 1. СИ бағдарламалау тілінің ерекшеліктері . . . 5
1. 2. С/С++ тілдерінің элементтері, тұрақтылар және
айнымалылар мен типтер . . . 8
2 тарау. СИ ++ тіліндегі динамикалық жады
2. 1. СИ тіліндегі мәліметтердің динамикалық құрылымы . . . 13
2. 2. СИ тіліндегі динамикалық жады бакылаушысы . . . 16
Қорытынды . . . 18
Пайдаланылған әдебиеттер тізімі . . . 20
Кіріспе
Курстық жұмыстың өзектілігі: Бұл бағдарламалау тілі 1980 жылы пайда болды. Оны құрастырған Бьяр Страуструп. Оның атауын ойлап тапқан Рик Масситти деген адам. Бұл Си атты бағдарламалау тілінің Си++ тіліне эволюциялық түрде көшуін білдіреді. Си++ - бұл Си тілінің объектігі бағытталған кеңейтілген түрі.
Си++ үшін базалық тіл ретінде Си-дің таңдалды, себебі ол:
- көпмақсатты, ықшамды және біршама төмен деңгейлі;
- жүйелік бағдарламалаудың мақсаттарының көбісіне жауап береді;
- UNIX бағдарламалау ортасында жарамды болып табылады.
Қазіргі электрондық есептеуіш машиналарын программалық жабдықтау барысында негізгі орын - программалау жүйелеріне тиесілі. Ал, программалау жүйелері - ақпараттармен жұмыс жасауға арналған универсал құрал. Олардың көмегімен есептеулер жүргізуге, мәтіндерді өңдеу, графикалық бейнелер тұрғызу, мәліметтерді сақтау және іздеу т. б. әрекеттерді жүзеге асыруға болады.
Өз кезегінде бұл құралдардың өзі - программалау тілдерінде жазылған программа. Ал, программалау тілдерінің өзгеру қарқыны өте жылдам, қазіргі таңда программалау тілдерінің саны көп және жыл сайын жаңа бір тілдер пайда болуда. Программалау тілдерінің даму бағытын шартты түрде - процедуралық және процедуралық емес деп бөлуге болады.
Си - тілі жүйелік программалау тілі, бұл тілді компиляторлар мен операциялық жүйелерді жазуға және қолданбалы программаларды жазуға қолданылады. Мысалы, Нью-Джерси штатының Мюррей Хилл қаласында Bell laboratiories компаниясының ұйымдастыруымен 1969 жылы UNIX -операциялық жүйесі жазылды, бұл жүйе PDP-7 компьютеріне орнатылған. С тілінің негізгі идеяларының көпшілігі BCPL тілінен алынған.
Жалпы Си тілінің шығу тарихына тоқталайық: Ең алдымен 1960 жылы Аlgol тілі пайда болған. Содан кейін CPL- (біріктірілген програмамлау тілі) 1963 жылы жазылған. Осы тілдер негізінде іргелендіру арқылы Мартин Ричардс ВCPL(базалық біріккен программалау тілі) тілін 1967 жылы дүниеге әкелген. Артынша 1970 жылы Кен Томпсон В тілін ойластырған. Алғашқы Си тілі 1972 жылы Bell laboratiories лабораториясында жазылған және оның авторы - Деннис М. Ритчи. 1983 жылы АNSI(Америка ұлттық стандарттау институты) институты Си тілін стандарттау мақсатын қойды. Себебі, Кен Томпсон В тілін жазып бітіргенде PDP - 11 компьютері пайда болған. Сондықтан UNIX операциялық жүйесін және В тілінің компиляторын жаңа машинаға сәйкестендіріп жөндеген.
Курстық жұмыстың мақсаты: СИ тіліндегі динамикалық жадымен танысу және программалау және алгоритмдеу пәнінен алынған білімді тереңдету.
Курстық жұмыстың міндеттері : С\С++ программалау тілдерінің мүмкіндіктері мен ерекшеліктеріне шолу және динамикалық жадыны пайдаланып СИ ++ тілінде программа құру ерекшеліктері туралы мағлұмат беру.
Курстық жұмсыстың құрылымы: Курстық жұмыс кіріспеден, екі тараудан және қорытынды мен әдебиеттер тізімінен тұрады.
1 тарау. С\С++ программалау тілдерінің мүмкіндіктері мен ерекшеліктеріне шолу
1. 1. СИ бағдарламалау тілінің ерекшеліктері
Программалау тілдерінің көбісін (C, Рascal, Lisp u APL) жеке авторлар құрастырғандықтан біртұтастығымен ерекшеленеді, және көпшілік авторлар жазған (Ada, PL/1 u Algol60) тілдеріне қарағанда бір автордың жақсы білетін сұрақтарын шешеуге мамандандырылған сипатта құрылады.
Деннис Ритчи жүйелік програмалау саласында мойындалған ең ірі маман саналады.
Деннис Ритчи жазған Си тілінің таралу себебі: салыстырмалы түрде «төмен деңгейлі» тіл, сондықтан алгоритм жұмысының әрбір бөлімін бақылау мүмкіндігі бар және жоғары деңгейлі тілдер принцптері енгізілгендіктен, нақты бір компьютердің архитиктурасы ерекшелітерінен тәуелсіздігін қамтамасыз ету мүмкін болды.
Жоғарғы деңгейлі тілдерден Си тілінің ерекшелігі:
- операторлар түрі өзгеше;
- көрсеткіштер жиі қолданылады;
- басқа тілдерге қарағанда синтаксикалық ережелері аз, нәтижесінде компилятор тиімді жұмыс жасау үшін 256 Кб оперативті жады жеткілікті;
- қызметші сөздерге қарағанда операторлар мен олардың комбинациялары көп;
- алғашқыда Си тілінде 27 қызметші сөз ғана болған. Кейін ANSI Си тіліне және Microsoft C тіліне қызметші сөз қосылды, жалпы саны шамамен 50;
- Көп программалау тілдерінде бар функциялар Си тілінде жоқ;
- Си тілінде қосалқы енгізу шығару функциялары, математикалық функциялары және жолдармен жұмыс жасау функциялары жоқ, бірақ сол функциялардан және басқа функциялардан тұратын жеке кітапханалардан алу мүмкіндігі қарастырылған;
- мәліметтер типін бақылау жеңіл, яғни программаның бір жерінде айнымалыны символ түрінде, екінші бір жерінде осы символдың ASCII коды ретінде қарастыруға болады;
- Си тілінде қазіргі тілдері секілді барлық басқарушы конструкциялары бар(For, if / else, …. ) ;
- Cи тілінде модулдік программалауға болады, яғни программаның әртүрлі бөлігін жеке копиляциялауға болады;
- Ассемблер тілінде жазылған ішкі программаларды шақыруға болады;
- көрсеткіштер яғни жады аймақтарынан берілген адрес бойынша қарау программаны орындау жылдамдығын арттырады. Көрсеткіштер көп тілде қолданылады, ал көрсеткіштерге арифметикалық амалдар тек Си тілінде қолданылады.
- Си тілінде барлық массивтер бір өлшемді, бірақ Си тілінде бір өлшемді массивтерден тұратын конструкциялар бар, яғни көп өлшемді массивтер құрылады;
- тек қажетті кітапханалар шақырылатын болғандықтан жады тиімді қолданылады;
- басқа тілдердегідей қосалқы функциялар;
- көптеге мамандандырылған функциялар кітапханаларының жинытығы бар.
Кемшілігі:
- Си тілінде мәліметтер типі қатаң қадағаланбайды, сондықтан Си тілінде тәжірибелі программист байқағанмен жаңа үйренуші байқамайтын айнымалы мәндеріне өзгерістер болуы мүмкін.
Мысалы, бір өрнекте (=) меншіктеу операторы бірнеше рет қолданылуы мүмкін. Сондықтан нәтижесінің типі түсініксіз және қиын анықталады. Бірақ оны қолдану арқылы тілдің қуаты арттырылған.
С++ тілі Си тілінің толықтырылған, яғни объектілі бағытталған программалау(ОБП) құралдарымен толықтырылған жиыны деуге болады.
Си және С++ тілдерінің айырмашылығы:
-құрылымдар мен класстар аттары мәләметтер типтерінің аттары болып табылады. С- де класс түсінігі жоқ.
С/С++ тіліндегі программаның жалпы құрылысы
Си тіліндегі кез-келген программа main функциясынан тұрады. Мұның орындалу барысында басқа функциялар шақырылады. Функциялар арасындағы байланыс параметрлер арқылы беріліп функция мәнін қайтарып алу арқылы жүзеге асады.
Сонымен қатар, Си тілінің компиляторында мәселені бірнеше бөлікке -файлдарға бөліп, әрқайсысын жеке-жеке трансляциялап, сосын оларды жеке бір орындалатын файлға, жинау мүмкіндігі бар. Жинақтау байланыс редакторының көмегімен жүзеге асырылады.
1. 2. С/С++ тілдерінің элементтері, тұрақтылар және
айнымалылар мен типтер
СИ бағдарламау тіліндегі символдар:
- латын әріптері;
- цифрлар;
- арнайы символдар;
- пробелмен ажыратылмаған символдар комбинациясы, бір мағыналы символ ретінде қабылданады, Мысалы ++, -, «», +=, /-, //.
Идентификаторлар:
Идентификаторлар - символдардан, цифрлардан және «_» таңбасынан тұрады. С компиляторы 31 символды таниды. С және С++ тілдері символдар регистріне қарайды, яғни компилятор үлкен және кіші символдарды әртүрлі символ ретінде қабылдайды.
Мысалы, Name_TYPE және name_type идентификаторлары әртүрлі деп қарастырылады. Программистер арасында жарияланбаған келісім бойынша кезкелген идентификаторды сәйкес типінің бірінші әрпінен бастау ұйғарылған.
Қызметші сөздері:
С тіліндегі қызметші сөздер қосалқы идентификаторлар болып табылады. Оның әрқайсысы белгілі бір әрекет орындайды. Қызметші сөздер мағнасын өзгерту мүмкін емес, тек, #define препроцессор директивасы арқылықызметші сөз псевдонимін құрып, оның әрекетін көшіруге болады.
С немесе С++ тілдерінде мәндер төмендегідей базалық типтер бірімен бейнеленеді. Олар:
1. char - бірлік байт, қолданылатын литерлер жиынтығындағы бір литерді меншітей алады.
2. int - бүтін.
3. float - 3. 4E- 38 және 3. 4E+38 аралығындағы нақты сандар.
4. double - 1. 7E-308 -1. 7E+308 аралығындағы жылжымалы нүктелі сандар.
5. Void типті, ешқандай мән қайтармайтын функцияларды қолданылады.
6. bool типті айнымалы С++-те true немесе false мәнін қабылдайды.
7. Санылымды тип.
8. Көрсеткіштер.
Саналымды типті айнымалы санап көрсетілген тұрақтыға оның атауы арқылы сілтейді.
С/С++ тілі машинадан тәуелді тіл болғандықтан аталған типтерге жадыдан бөлінетін орындар көлемі нақты атап көрсетілмейді. Дегенмен, шамамен сипаттау мүмкіндігі бар.
Сонымен қатар, базалық типтерге қолданылатын бірнеше квалификаторлар бар.
Квалификаторлар
short (қысқа) және long (ұзын) квалификаторлары бүтін типтерге қолданылады:
Short int sh;
Long int counter;
Бұндай сипаттауларда int сөзін жазбауға болады. Көбінесе short квалификаторы арқылы сипатталған бүтінге 16 бит бөлінеді, long квалификаторымен сипатталса - 32 бит, ал int типіне - не 16, не 32 бит бөлінеді. Signed (таңбалы) және unsigned (таңбасыз) квалификаторларын char типіне және кез келген бүтін типке қолдануға болады.
Unsigned мәні әрқашан оң немесе нөлге тең және 2n модулі бойынша арифметика заңына бағынады. Мұндағы, n- типті бейнелегендегі биттер санына тең.
Мысалы, char мәніне 8 бит бөлінсе, онда unsigned char 0-ден 255-ке дейінгі диапазондағы мәнге, ал signed char -128-ден 127-ге дейінгі мәнге ие.
Барлық өлшемдегі атаулы тұрақтылар <limits. h> және <float. h> стандартты тақырыптық файлдарында орналасады.
Сонымен қатар, С тілінде екі квалификатор бар: Const және Volatile. Const - мәні өзгермейтін айнымалыларды, ал Volatile кез келген уақытта мәні өзгеретін айнымалыларды белгілеу үшін қолданылады.
Const -программа орындалу барысында өзгермейтін айнымалылар - тұрақтылар деп аталады.
Сипатталуы:
Мысалы, Const float pi=3014159;
Const int imin=1, isale=5;
Тұрақтыны сипаттаудың екі тәсілін білеміз, Const және define; көпшілік жағдайда екеуі бірдей нәтиже береді, бірақ мынадай ерекшеліктері бар: define - макротұрақты, ал Const арқылы айнымалы құрылады.
Volatile бұл айнымалының мәні сыртқы әрекеттер әсерінен өзгеруі мүмкін екенін білдіреді.
Мысалы, Volatile int EV_time;
Бұл жағдайда EV_time айнымалысы таймер, яғни жүйелік құрылғы арқылы өзгереді.
Бұл бұл квалификаторлар бір уақытта қолданылуы мүмкін, мысалы, Const Volatile Const EV_time;
Мұнда Const EV_time айнымалысының мәні программасының денесінде өзгертілменгенмен, оның мәні сырттай жанартылуы мүмкін.
Программаның орындалу барысында мәні өзгермейтін шама - тұрақты деп аталады.
Бүтін тұрақты, мысалы, 1234, int типімен сипатталады. Long типті тұрақты l немесе L әрпімен аяқталады. Мысалы, 123456789L. Таңбасыз тұрақтылар u немесе U әрпімен аяқталады. Ал ul немесе UL-мен аяқталатын тұрақтылар типі - unsigned long екенін көрсетеді.
Сонымен қатар, бүтін мән ондық форматта немесе басқа 8-дік немесе 16-лық форматта берілуі мүмкін. Егер тұрақты нөлден басталса, онда ол 8-дік форматта, егер 0х немесе 0Х болса, онда 16-лық форматта көрсетілген. Мысалы, ондық бүтін
31-ді 037 немесе 0Х1F түрінде жазуға болады. 8-дік және 16-лық тұрақтылардың жазылуы L және U әрпімен аяқталуы мүмкін.
Мысалы, 0XFUL тұрақтысы 15 мәніне және unsigned long типіне ие.
Жылжымалы нүктелі тұрақтылар. Егер тұрақты f немесе F әрпімен аяқталса, онда тип float, ал l немесе L болса, онда long double типті болғаны.
Литерлік тұрақтылар. Литерлік тұрақтылар деп апострафқа алынған литер түрінде жазылған бүтінде айтамыз. Мысалы, 'x'. Литерлік тұрақтының мәні ретінде литердің сандық коды алынады. Мысалы, '0' литерлік тұрақты ASCII кодында 48 кодына сәйкес келеді. Бұның 0 мәніне ешқандай қатысы жоқ. Литерлік тұрақтылар көбінесе басқа литерлермен салыстыру үшін қолданғанымен, олар басқа бүтін типтер сияқты сандарға амалдар қолдануға қатыса алады.
Тұрақты өрнек - тек тұрақтылармен ғана өрнектелетін өрнек. Мұндай өрнектер компиляциялау барысында есептеледі, сондықтан оларды келген жерде қолдануға болады.
Мысалы:
#define SAN 368
char line[SAN +1] ;
Стрингтік тұрақты - нөл немесе қос тырнақшаға алынған литерлер. Мысалы,
" Бұл жолдық тұрақты"
немесе " " /* бос жол */
Тырнақшалар жолдарға кірмейді, ол тек оның шектеуі ретінде қолданылады.
Жолдық тұрақтыларды компиляциялау барысында бір-біріне жалғауға болады бөліктерге бөліп, оларды бөлек жолдарға жазуға мүмкіндік береді.
Шын мәнінде жолдық тұрақты ол литерлер массиві. Strlen(s) функциясы s жолының ұзындығын есптейді. /* strlen: s жолының ұзындығын қайтаратын функция мазмұны */
int strlen(char s[ ] ) {
int i;
i=0;
while ( s[i] !='\0')
++i;
return i;
}
Жолдарға қолданылатын strlen және басқа функциялар <string. h> стандартты тақырыптық файлында сипатталған.
‘\о’ - null-литер стрингтің ішкі бейнеленуінде міндетті түрде соңына қойылады.
Ескерту: бір литерден тұратын литерлік тұрақты мен жол бірдей емес. Саналымды тұрақты. Санау -ол бүтін тұрақтылар тізімі.
Мысалы, Enumeration - ағылшын сөзі, «санау» деген сөзді білдіреді.
Enum boolean{ NO, YES};
Enum months { JAN = 1, FEB, MAR, APR, MAY, JUN, JUL,
AUG, SEP, OCT, NOV, DEC }; /* FEB 2, MAR 3 т. с. с. */
Әртүрлі саналымдарда атаулар әртүрлі болуы тиіс. Бір саналым ішінде мәндер қайталануы мүмкін. Enum құралы тұрақтыларға ыңғайлы аттау беруге мүмкіндік береді, #define препроцессоры директивасына қарағанда мұндағы тұрақтылар мәндері генерациялана береді.
Глобалды және жергілікті айнымалылар - программаланың орындалу барысында мәні өзгеретін шамалар айнымалылар деп аталады. С/С++ тілінде кез келген айнымалы оны қолданғанға дейін анықталуы керек. Декларацияда айнымалылардың қасиеттері хабарланады. Ол типтің атынан және айнымалылар тізбегінен тұрады.
2 тарау. СИ ++ тіліндегі динамикалық жады
2. 1. СИ тіліндегі мәліметтердің динамикалық құрылымы
Алгоритмдік тілдерден машиналық тілге автоматты аударатын программалар - трансляторлар шықты, яғни, программа құру үшін деңгейлері жоғары программалау тілдері қолданылды, стандартты программалардың қоры үлкейді. Жабық жұмыс істеу режімі қолданылды, яғни, программалаушы тікелей машинамен жұмыс істемейтін болды, ол өзінің жо-ғары деңгейдегі программалау тілінде жазылған программасын ары қарай машинадан өткізетін қызмет көрсететін топқа тапсырды. Программалардың жұмыс істеуін бақылау және басқару үшін алғашқы мониторлық жүйелер пайда болды. Олардың өзінің тапсырмаларды басқару тілдері болған. Индексті арифметиканың шығуы, тікелей емес адрестеуді және динамикалық жадыны қолдану, символдық шамалармен жұмыс істеу мүмкіншілігінің пайда болуы осы буынның құрылымдық ерекшклігін айқындады.
Мәліметтердің дипамикалық құрылымы-өлшемдері программаның орындалу барысында өзгеретін (өсетін немесе кемитін) мәліметтер құрылымы. Байланысқан тізім - кез келген орнында қоюды және жоюды іске асыруға болатын мәліметтер элементтерінің «тізілген қатар» жиынтығы. Стектор қою және жоюдың орындалуына текк кана стектің бір ұшынан - үстінен рұқсат береді. Кезектердеп күту сызығын айтуға болады. Қою кезектің соңында, ал жою-кезектің басында іске асады. Екілік бұтағы тез іздеуді және мәліметтерді сұрыптауды жеңілдетеді, мәліметтер элементтерінің қайталануын тиімді жояды, каталогтардың файлдық структурасын және өрнектерді машиналыққ тілге компиляциялауды ұсынады.
Өзіне сілтеме жасайтын құрылым. Өзіне сілтеме жасайтын құрылым элемент ретінде сол типке сілтемелейтін көрсеткішті алады.
Мысалы,
struct node {
int data;
struct node *nextptr; :
};
struct node типін баяндайды. Struct node типті құрлым екі элементтен тұрады: бүтін data және nextPtr керсеткіш. NextPtr элементі struct node типті құрылымға сілтемелейді. NextPtr элементін кейде байланыстырушы деп атайды, яғни nextPtr элементін struct node типті құрылымды осы типтес басқа құрылыммен байланыстыру үшін қолданады.
Жадыны динамикалық үлестіру. Мәліметтердің динамикалық құрылымын құру және қолдану жаңа түйіндерді сақтау және керексіз болып қалған жадылар блоктарын босату үшін орындалу процссінде қосымша жадыны алу мүмкіндіктері жадыны динамикалық үлестіруді талап етеді. Динамикалық жадымен белінетін максималды өлшем компьютердің мүмкіндікті физикалық жадысымен немесе виртуальді жадысы бар жүйедегі мүмкіндікті виртуальді адрестік кеңістіктікпен анықталады. Жадыны динамикалық үлестіру үшін mallpc және free функцияларын, сондай-ақ sizeof операциясын қолдану қажет. МаіІос функциясын void* типті жадысына бөлінетін көрсеткішті қайтару және бөлу қажетті байт санының аргументі ретінде қолданады. void* көрсеткішін кез келген айнымалы-көрсеткішке меншіктеуге болады. Malloc функциясы әдетте sizeof операциясымен бірге қолданылады. Егер жадының қажетті саны болмаса, онда malloc NULL көрсеткішін қайтарады. Free функциясы жадыны босатады, яғни жады жүйеге қайтарылады жэәе келешекте оны қайтадан ерекшелейді (бөледі) .
Байланысқан тізімдер - бұл түйін деп аталатын өзіне сілтеме жасайтын құрлымның және көрсеткіш-байланыстармен біріккен сызықты жинағы. Байланысқан тізімге қатынас тізімнің бірінші түйінінде көрсеткішпен қамтамасыз етіледі. Келесі түйіндерге қатынас әрбір түйінде сақталатын байланысқан көрсеткішпен орындалады. Байланысқан көрсеткіш жалпы келісіммен тізімнің соңғы түйінінде тізімнің соңын білдіріп, NULL-мен орнатылады. Мәліметтер байланысқан тізімде сақталады, динамикалық - әрбір түйін қажеттілігіне қарай құрылады. Түйін басқа құрылымдармен қоса кез келген типті мәліметтерден тұра алады. Байланысқан тізім құрылымға қанша мәліметтер элементтерінен тұратыны алдын-ала белгісіз болғанда ыңғайлы. Егер әрбір жаңа элементті сәйкес тізімнің позициясына орналастырса, онда байланысқан тізімдер сұрыпталған түрде болуы мүмкін.
Стектер - бұл байланысқан тізімнің қысқартылган түрі. Жаңа түйіндер тек жоғарыдан стекке қосыла алады және стектен жойылы алады. Осы себепті стекті соңғы келді - бірінші шықты (LIFO) түрдегі құрылым деп атайды. Стекке көрсеткіш арқылы стектің жоғарғы элементіне сілтенеді. Байланысқан элемент стектің соңғы түйінінде стектің шекарасын көрсету үшін NULL-мен орнатылады.
Кезекте түйіндер басынан жойылады, ал кезектің соңынан (хвост) қосылады. Осы себепті жие кезектерді соңғы келді - бірінші шықты (LIFO) типіндегі мәліметтер құрылымы деп атайды.
Бұтақ ерекше қасиеттері бар бейсызықты құрылым, екі өлшемді мәліметтер құрылымы болып табылады. Бұтақ түйіні екі не одан да көп байланыстардан құралады. Екілік бұтақтар дегеніміз тек екі байланыстан тұратың бұтақты айтады. Бұтақтың бірінші түйіні түпкі деп аталады, Түпкі түйіннің әрбір байланысы мұрагерге сілтенеді. Сол мұрагер - солдақы бұтақ ішіндегі бұтақтың бірінші түйіні, ал оң мұрагер - оңдағы бұтақ ішіндегі бұтақтың бірінші түйіні. Іздеудің екілік ағашы (түйінде қайталанбайтын мәндермен) былай құрылған: кезкелкен сол ағаштың ішіндегі ағаштың мәндері жоғарыда орналасқан 1 түйіннің мәнінен кіші, ал кез келген оң ағаштың ішіндегі агаштың мәні жоғарыда орналасқан түйіннің мәнінен артық.
2. 2. СИ тіліндегі динамикалық жады бакылаушысы
Жедел жадтың қазiргi компьютерлерiнiң көпшiлiгiнде кез келген рұқсаты бар құрылымдардың қағидасы бойынша ұйымдастырылған жартылай өткiзгiш бистер ЖҚ болатын жадтар динамикалық модулдар болады. Динамикалық түрдiң жады статикалыққа қарағандасы арзандау және оның тығыздығы кремилiк төс етегiнiң кеңiстiгi сол жад ұяларын көбiрек орналастыруға мүмкiндiк бергенi жоғары, бiрақ оның жылдамдығы сонымен бiрге төменде. Статикалық, керiсiнше, жылдамырақ жад, бiрақ ол және қымбаттау. Осыған байланысты жаппай жедел жад динамикалық жад модулдарында салады, статикалық түрдiң жады Кешалардың құрастыруы үшiн қолданылады - микропроцессордағы жад.
Әртүрлі уақытта әрүрлі типті және әртүрлі өлшемді обьектілерді сақтай алатын айнымалы -біріктіру деп аталады. Өлшемдеріне және реттеуге қатысты талаптарды компилияция орындайды. Жадының бір аймағында әртүрлі мәндерді сақтауға мүмкіндіктері бар.
Біріктіру синтаксисі структура синтаксисі секілді:
Union unprim {
Int iman;
Float fman;
Char *sman;
} mainun;
Си тілінде мәндер типіне жаңа атау беруге болатын құрал - typedef құралы бар.
Кәш-жады, Жедел жадыны бүркемелеу. Компьютер жады екiлiк сақтау элементтерi - биттерден құрылған, 8 биттен бiрiккен топ байт деп аталады (жадтың өлшем бiрлiктерi ақпараттың өлшем бiрлiгiне сай болады) . Барлық байттар нөмiрленген. Байттың нөмiрiн оның адресi деп аталады.
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz