Учебное пособие Самара 2015 + 004. 43 Ббк 32. 973 Н 19


Download 1.98 Mb.
bet13/53
Sana15.08.2023
Hajmi1.98 Mb.
#1667321
TuriУчебное пособие
1   ...   9   10   11   12   13   14   15   16   ...   53
Bog'liq
Lekcii AiSD 2015

30 231 10




10
37



++&i2;

// Ошибка не

L—выражение

--&i2++;

// Ошибка — не

L-выражение

Любой адрес можно проверить на равенство операцией


или на неравенство операцией != со специальной константой NULL, которая записывается вместо нуля (значение, эквивалент- ное нулю). Гарантируется, что никакой программный объект ни- когда не будет иметь адрес NULL. Указатель, имеющий значение NULL, не адресует никакую область памяти. Он называется ну- левым указателем.



      1. Указатели на указатели

Поскольку указатель — это объект в памяти, то можно опре- делить указатель на указатель, указатель на указатель на указа- тель, и так сколько нужно раз.


int i = 88; int *pi = &і;
int **ppi = &рі;
int ***pppi = &ppi;

***pppi - 88


Порядок выполнения операции *— справа налево, поэтому обеспечивается последовательный доступ к участку памяти с ад— ресом pppi, затем — с адресом (*pppi) ppi, затем — с адресом (’ррі)-рі, затемсадресом( ’рі)- і.


pppi —> (*pppi) ppi — > (*ppi) -pi —> (*pi) - i
***pppi - *(*(*pppi))



        1. Алгоритмы обработки простых структур данных

Уровень сложности простых структур данных таков, что понятие «алгоритм обработки» к ним мало применимо. Лучше использовать термин «операция». Из основных алгоритмов обра- ботки, перечисленных во введении, к простым структурам при- менимы операции просмотра и модификации в разных вариантах, например на языке Си++:


#include // #іпсlиdе — аналог днрек-
тнвы uses вМаскале
ind ша іп ( ) / / Точка входа в программу (начало про— граммы)

in L а; / / Создание (определение) локальной пе— ременной без инициализации


o in > > а i / / Ввод с клавиатуры (из внешнего потока

ввода)

а++ i / / Модификация (инкремент) a— — i / / Декремент


іf ( а == 0 ) / / Сравнение
а = 1i / / Модификация (присваивание значения) cou t < < а i / / Считывание — вывод на дисплей (во

внешний поток вывода)
re Com 0 i / / Завершение программы
Вопросы н задания для самоконтроля



    1. Какие структуры данных относятся к простым?

    2. Что означает понятие «тип данных»?

    3. Какую информацию можно извлечь из типа данных?

    4. На какие группы разделяются типы данных в основных языках программирования?

    5. На какие группы могут разделяться типы, предназна- ченные для описания целочисленных значений?

    6. Пусть имеется некоторое отрицательное целое число. Какое значение имеет старший разряд этого числа?

    7. Считываемые из файла текстовые данные выводятся на дисплей неверно. В чём может быть причина этого?

    8. Работая с программой, пользователь вводит число 100000. При контроле введённых данных на дисплей выводится число -31072. В чём может быть причина этого?

    9. Можно ли в двоичной системе счисления точно пред-

ставить значение 0,0625?

39


    1. Можно ли в двоичной системе счисления с ограничен- ной разрядностью точно представить значение 0,95?

    2. Что такое указатели?

    3. Для чего используются указатели?

    4. Какие операции можно выполнять над указателями?

    5. Что представляют собой указатели на указатели? Для чего они могут применяться?

    6. Можно ли получить адрес указателя?

    7. Что означает понятие «модифицируемое L- выражение»?

    8. Что означает понятие «немодифицируемое L- выражение»?

    9. Может ли указатель содержать нулевое значение?

    10. Может ли явно созданная в памяти структура данных иметь адрес, равный нулю?

40
3. Линейные статические структуры данных





Download 1.98 Mb.

Do'stlaringiz bilan baham:
1   ...   9   10   11   12   13   14   15   16   ...   53




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling