|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.11.2010, 14:08 | #1 |
Новичок
Джуниор
Регистрация: 25.11.2010
Сообщений: 2
|
не могу разобраться в программе, как она работает
/*5.1 вывести на экран в обратном порядке следования символов текст, введенный со стандартного ввода*/
#include <stdlib.h> #include <stdio.h> int main(void) { char* bufer; int i=0; int c=' '; /*------------------------------------------------------------*/ if((bufer =(char*)malloc(0))==NULL) { printf("\n!Error into malloc!\n"); return 0; } /*------------------------------------------------------------*/ printf("Input text:\n"); while((c=getchar())!=EOF) { if((bufer=(char*)realloc((void*)buf er, i+1))==NULL) { printf("\n!Error into realloc!\n"); break; } bufer[i]=c; i++; } /*------------------------------------------------------------*/ for(i=i-1; i>=0; i--) putchar(bufer[i]); free(bufer); return 0; } не могу понять как она работает(( преподаватель написал в классе, и не обьяснил)) |
25.11.2010, 14:51 | #2 |
Delphi Warrior
Старожил
Регистрация: 15.08.2008
Сообщений: 2,502
|
Что именно вам не понятно можно узнать??
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++ ya.flex-freelance@yandex.ru Icq - 636-954-303 |
25.11.2010, 15:02 | #3 |
Новичок
Джуниор
Регистрация: 25.11.2010
Сообщений: 2
|
что происходит в этой строчке
if((bufer=(char*)realloc((void*)buf er, i+1))==NULL) |
25.11.2010, 15:11 | #4 |
Delphi Warrior
Старожил
Регистрация: 15.08.2008
Сообщений: 2,502
|
char *realloc(ptr,size);
Описание. Функция realloc изменяет размер ранее захваченного блока памяти. Аргумент ptr указывает на начало блока. Аргумент size за- дает новый размер блока в байтах. Содержимое блока не изменяется. Аргумент ptr может указывать на блок, который должен быть осво- божден прежде, чем последуют вызовы calloc, halloc, malloc, realloc. Возвращаемое значение. Функция realloc возвращает char-указатель на перезахвачен- ный блок памяти. Блок может быть передвинут, если его размеры из- менены, поэтому аргумент ptr для функции realloc не обязательно должен быть таким же, как и возвращаемое значение. Возвращается значение NULL, если памяти недостаточно, чтобы расширить блок к заданному размеру. Если это происходит, то пер- воначальный блок освобождается. В памяти, на которую указывает возвращаемое значение, га- рантировано выравнивание для хранения любого типа объекта. Чтобы получить указатель на тип, отличный от char, используется преоб- разователь типа возвращаемого значения. P.S.: Юзайте гугл!
Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++ ya.flex-freelance@yandex.ru Icq - 636-954-303 |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не могу разобраться как работает программа(сложение дробей) | Superlotles | Общие вопросы C/C++ | 1 | 15.05.2010 16:05 |
Не могу разобраться почему не работает justify | F1ernandes | HTML и CSS | 2 | 28.01.2010 19:29 |
text-aling:justify , Не могу разобраться почему не работает | F1ernandes | HTML и CSS | 0 | 28.01.2010 11:55 |
Как определить когда нажата кнопка мыши, если она нажата в совсем другой программе? | Iceman | Общие вопросы Delphi | 2 | 19.10.2009 19:03 |