Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
texpr_wpor.docx
Скачиваний:
20
Добавлен:
13.03.2015
Размер:
113.63 Кб
Скачать

Файлдармен жұмыс fread(),fwrite().

Fread()

іnt fread(buffer, sіze, count, stream);

voіd *buffer;

sіze-t sіze;

sіze-t count;

FІLE *stream;

Функция stream кіріс аѓынынан sіze ±зындыќты count элементтерін оќиды да, buffer берілген массивіне салады. Stream аѓынымен байланысќан файл кµрсеткіші наќты оќылѓан байттар санына µседі. Мєліметтерді форматты т‰рлендіру (fscanf() функциясы ‰шін секілді) жасалмайды. Ќатарды т‰сіру символы (‘\n’) арнайы (fgets() ‰шін секілді) µњделмейді. (Ќайтаратын мєні: егер count символ оќылмай т±рып ќате кездескен немесе файлдыњ соњы болѓан, м‰мкін count-тан кіші наќты оќылѓан элементтер саны).

Fwrіte()

іnt fwrіte(buffer, sіze, count, stream);

char *buffer;

іnt sіze;

іnt count;

FІLE *stream;

Функция buffer обылысынан stream шыѓыс аѓымѓа sіze байттан count жазба жазады (жоѓары дењгейлі енгізу-шыѓару). Stream аѓымымен байланысты файл кµрсеткіші (ішкі кµрсеткіш) жазылѓан байттар санына µседі. Мєліметтерді форматты т‰рлендіру (fprіntf() функциясы ‰шін секілді) жасалмайды. Ќатарды т‰сіру символы (‘\n’) арнайы (fputs() ‰шін секілді) µњделмейді. (Ќайтаратын мєні: файлѓа енгізілген жазбалардыњ наќты саны; б±л сан count мєнінен кіші болуы м‰мкін, егер ќате пайда болса).

Мәліметтердің динамикалық структуралы тізімдер,стектер кезектер.

Мєліметтердіњ динамикалыќ структурасы-µлшемдері программаныњ орындалу барысында µзгеретін (µсетін немесе кемитін) мєліметтер структурасы.

¤здеріне сілтемелейтін структуралар. ¤здеріне сілтемелейтін структуралар элемент ретінде сол типке сілтемелейтін кµрсеткішті алады. Мысалы,

struct node {

int data;

struct node *nextptr;

};

struct node типін баяндайды. Struct node типті структура екі элементтен т±рады: б‰тін data жєне nextPtr кµрсеткіш. NextPtr элементі struct node типті структураѓа сілтемелейді. NextPtr элементін кейде байланыстырушы деп атайды, яѓни nextPtr элементін struct node типті структураны осы типтес басќа структурамен байланыстыру ‰шін ќолданады.

Жадыны динамикалыќлестіру. Мєліметтердіњ динамикалыќ структурасын ќ±ру жєне ќолдану жадыны динамикалыќ ‰лестіруді талап етеді-жања т‰йіндерді саќтау жєне керексіз болып ќалѓан жадылар блоктарын босату ‰шін орындалу процесінде ќосымша жадыны алу м‰мкіндіктері. Динамикалыќ жадымен бµлінетін максималды µлшем компьютердіњ м‰мкіндікті физикалыќ жадысымен немесе виртуальді жадысы бар ж‰йедегі м‰мкіндікті виртуальді адрестік кењістіктікпен аныќталады. Жадыны динамикалыќ ‰лестіру ‰шін malloc жєне free функцияларын, сондай-аќ sizeof операциясын ќолдану ќажетті. Malloc функциясын void* типті жадысына бµлінетін кµосеткішті ќайтару жєне бµлу ќажетті байт саныныњ аргументі ретінде ќолданады. void* кµрсеткішін кез келген айнымалы-кµрсеткішке меншіктеуге болады. Malloc функциясы єдетте sizeof операциясымен бірге ќолданылады.

Байланысќан тізімдер. Байланысќан тізімдер-б±л т‰йін деп аталатын µзіне сілтенетін структуралардыњ жєне кµрсеткіш-байланыстармен біріккен сызыќты жинаѓы. Байланысќан тізімге ќатынас тізімніњ бірінші т‰йінінде кµрсеткішпен ќамтамасыз етіледі. Келесі т‰йіндерге ќатынас єрбір т‰йінде саќталатын байланысќан кµрсеткішпен орындалады.

Стектер. Стек-б±л байланысќан тізімніњ ќысќартылѓан т‰рі. Жања т‰йіндер тек жоѓарыдан стекке ќосыла алады жєне стектен жойылы алады. Осы себепті стекті соњѓы келді-бірінші шыќты (LIFO) т‰рдегі структура деп атайды. Стекке кµрсеткіш арќылы стектіњ жоѓарѓы элементіне сілтенеді. Байланысќан элемент стектіњ соњѓы т‰йінінде стектіњ шекарасын кµрсету ‰шін NULL-мен орнатылады.

Кезектер. Кезекте т‰йіндер басынан жойылады, ал кезектіњ соњынан (хвост) ќосылады. Осы себепті жиі кезектерді соњѓы келді-бірінші шыќты (LIFO) типіндегі мєліметтер структурасы деп атайды.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]