|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
16.04.2011, 18:00 | #1 |
Пользователь
Регистрация: 16.04.2011
Сообщений: 46
|
Не получается разобраться в программе с указателями
Прочитала множество теории, но не могу понять, как работает программа в некоторых местах, точнее, почему именно так.
Написала комментарии там, где что-то не ясно. Заранее спасибо всем за помощь. Текст программы: Код:
"8.50 8.50 8.50 0.50 11.50" |
16.04.2011, 18:26 | #2 | |||||
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
Цитата:
pr3^:=pr2^ - здесь, ты ячейке памяти, на которую указывает указатель pr3, присваиваешь значение ячейки памяти, на которую указывает указатель pr2. Цитата:
Цитата:
Цитата:
Цитата:
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". Последний раз редактировалось Daramant; 16.04.2011 в 21:55. |
|||||
16.04.2011, 18:49 | #3 | |||||
Пользователь
Регистрация: 16.04.2011
Сообщений: 46
|
Цитата:
Цитата:
Цитата:
то есть совсем случайные, старое 8.5 вообще к этому отношения не имеет? Цитата:
Цитата:
|
|||||
16.04.2011, 19:11 | #4 | |||||
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
Цитата:
Цитата:
Цитата:
Например, ты выделила участок памяти, записала туда число 10, освободила участок памяти. Затем выделила новый участок памяти, если система тебе выделила тот-же участок, что и в прошлый раз, то так уже будет записано число 10. Здесь, как раз это и происходит. Когда ты запускаешь программу первый раз, там содержится значение 0, программа записывает туда число 8.5. При следующем запуске программы, в данном случае получается, что выделяется тот же участок памяти где ранее было записано 8.5. После суммирования там уже будет 17.0 и т.д. Цитата:
Предполагаю, что здесь может быть задан вопрос на понимание того - что на самом деле с чем складывается и какие значения содержит. Цитата:
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". |
|||||
16.04.2011, 19:23 | #5 | |||
Пользователь
Регистрация: 16.04.2011
Сообщений: 46
|
Цитата:
Цитата:
Цитата:
|
|||
16.04.2011, 19:32 | #6 | ||
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
Цитата:
Да, память освободится и может быть повторно использована при попытке выделить память в следующий раз. Слова: "данные удалятся" - не совсем корректны, данные просто останутся в памяти, т.е. в ячейке памяти останется записанное туда значение. Цитата:
Код:
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". Последний раз редактировалось Daramant; 16.04.2011 в 19:54. |
||
16.04.2011, 20:00 | #7 | ||
Пользователь
Регистрация: 16.04.2011
Сообщений: 46
|
Цитата:
Цитата:
|
||
16.04.2011, 20:18 | #8 | ||
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
Цитата:
Цитата:
Здесь же необходимо в ячейку памяти, на которую указывает указатель pr1 записать значение 0, (т.е. pr1^ := 0; )
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". |
||
16.04.2011, 20:31 | #9 | |
Пользователь
Регистрация: 16.04.2011
Сообщений: 46
|
Цитата:
Про ноль тоже поняла, спасибо. Еще образовался вопрос на основании вышеотвеченного)) Вот допустим у меня вот такой код будет: Код:
вывелось: 1.0 8.5 8.5 |
|
16.04.2011, 20:48 | #10 | |
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
Цитата:
Указатель, это переменная которая хранит адрес, другой переменой. 1. когда мы пишем: p1 - мы обращаемся к указателю (значение адреса). 2. когда мы пишем: p1^ - мы обращаемся к ячейке памяти, на которую указывает указатель p1. Теперь по твоему примеру: Код:
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
проболел,много тем пропустил ... не получается разобраться | bennya | Фриланс | 1 | 15.01.2011 00:09 |
не получается разобраться в коде ! разъясните пожалуйста! код внутри! | Lion_paint | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 16.05.2009 09:30 |
Товарищи, помогите разобраться с указателями | scibern | Общие вопросы C/C++ | 7 | 11.01.2009 12:28 |