Концепция указателя разработчика сочинение пример

ООО "Сочинения-Про"

Ежедневно 8:00–20:00

Санкт-Петербург

Ленинский проспект, 140Ж

magbo system

Сочинение на тему Концепция указателя разработчика

Определение

Переменная-указатель – это переменная, которая хранит адреса ячеек памяти. Как и другие значения данных, адреса памяти или значения указателей могут храниться в переменных соответствующего типа. Переменная, в которой хранится адрес, называется переменной-указателем, но часто ее называют просто указателем.

Определение переменной указателя, ptr, должно указывать тип данных, на которые будет указывать ptr. Вот пример: int * ptr; Звездочка перед именем переменной указывает, что ptr является переменной-указателем, а тип данных int указывает, что ptr может использоваться только для указания или хранения адресов целочисленных переменных. Это определение читается как «ptr – указатель на int». также полезно думать о * ptr как о «переменной, на которую указывает ptr». с этой точки зрения определение только что указанного ptr может читаться как «переменная, на которую указывает ptr, имеет тип int.», поскольку звездочка (*) позволяет вам перейти от указателя на указанную переменную, она называется оператор косвенного обращения. Программист обязан следить за тем, какой тип данных хранится в каждой ячейке памяти. Данные могут быть числом или некоторым текстом (конечно, это просто последовательность чисел), или это может быть адрес другого местоположения или, возможно, адрес адреса и так далее.

Есть также некоторые языки высокого уровня – нетипизированные языки – которые работают таким же образом; Форт и BCPL – примеры, которые приходят на ум. Большинство языков высокого уровня поддерживают типизацию данных в меньшей или большей степени. По сути, это означает, что программист указывает, что переменная содержит данные определенного типа, а язык допускает только соответствующие операции с этой переменной. Преимущество использования указателей является эффективным при обработке массивов и структур, указатели позволяют ссылаться на функцию и помогают передавать функции в качестве аргументов другим функциям, а также сокращают длину программы и время ее выполнения, а также позволяют языку C поддерживать Dynamic. Управление памятью.

Какова цель указателей разработчика

Указатель и массив

Ранее в предыдущей главе я узнал, что имя массива без скобок и нижнего индекса фактически представляет начальный адрес массива. Это означает, что имя массива является указателем. Запрограммируйте следующую страницу, указав имя массива, которое используется с оператором косвенности. Помните, что элементы массива хранятся вместе в памяти, как показано на рисунке ниже. Имеет смысл, что если числа являются адресом чисел [0], значения могут быть добавлены к числам, чтобы получить адреса других элементов в массиве. Другими словами, если вы добавляете один к номеру, вы фактически добавляете 1 * sizeof (короткий) к числам. Если вы добавите два к числам, результатом будет число + 2 * sizeof (короткий) и так далее. Это преобразование означает, что элемент в массиве может быть получен путем добавления его индекса к указателю на массив. Указатель на указатель:

Указатели используются для хранения адресов других переменных схожего типа данных. Но если вы хотите сохранить адрес переменной-указателя, то вам снова нужно сохранить его. Таким образом, когда одна переменная-указатель хранит адрес другой переменной-указателя, она известна как переменная Pointer to Pointer или Double Pointer. Здесь мы использовали два оператора косвенности (*), которые хранят и указывают на адрес переменной-указателя, т.е. int *. Если мы хотим сохранить адрес этой (двойной указатель) переменной p1, то синтаксис станет. Например, int *** p2.

Указатель на структуру

У нас также есть массив структурных переменных. И чтобы легко использовать массив структурных переменных, мы используем указатели структурного типа. Чтобы получить доступ к элементам структуры с помощью структурной переменной, мы использовали точку. Оператор. Но когда у нас есть указатель типа структуры, мы используем стрелку -> для доступа к членам структуры. Указатель на арифметику: переменные указателя изменились с помощью математических операторов, которые выполняют сложение или вычитание. Это продемонстрировано на следующей странице программы. Первый цикл увеличивает переменную указателя, пропуская ее через каждый элемент массива в обратном направлении.

Не все арифметические операции могут выполняться над указателями. Например, вы не можете использовать умножение или деление с указателями, допустимы следующие операции: операторы ++ и – могут использоваться для увеличения или уменьшения переменной указателя. Целое число может быть добавлено или подставлено из переменной указателя. Это может быть выполнено с помощью операторов + и-. И указатель может быть вычтен из другого указателя. Несколько примеров и понять это более четко. INT * я; я ++; увеличивайте его, он будет увеличиваться на 2 байта, потому что int также имеет 2 байта. плавать * я; я ++; увеличивайте его, он будет увеличиваться на 4 байта, потому что тип данных с плавающей запятой имеет 4 байта. двойной * я; я ++; Точно так же в этом случае размер указателя по-прежнему составляет 2 байта. Но теперь, когда мы увеличиваем его, он будет увеличиваться на 8 байтов, потому что его тип данных является двойным.

Указатель на функции

Указатель как параметр функции используется для хранения адресов аргументов, переданных во время вызова функции. Это также называется вызовом по ссылке. Когда функция вызывается по ссылке, любое изменение, внесенное в ссылочную переменную, повлияет на исходную переменную. Можно объявить указатель, указывающий на функцию, которая затем может быть использована в качестве аргумента в другой функции. Указатель на функцию объявляется следующим образом: type (* pointer-name) (параметр) ;. Вот пример: int (* sum) (); int * sum (); Указатель на функцию может указывать на конкретную функцию, когда ей назначается имя этой функции. Int sum (int, int); int (* s) (int, int); S = сумма;

Здесь s – указатель на сумму функции. Теперь сумма может быть вызвана с использованием указателя на функцию s наряду с предоставлением требуемых значений аргумента. с (10,20) ;. ; увеличивайте его, он будет увеличиваться на 2 байта, потому что int также имеет 2 байта. я я ++; указатель на целое число: Обычно значение указателя (то есть адрес) хранится в «обычной» переменной – как целое число без знака. Пример того, где это может быть сделано в фиксированном, находится в устройстве. Вот пример: unsigned normal; указатель без знака *; указатель = & нормальный; указатель normal = (без знака); Это приведет к тому, что переменная normal будет содержать собственный адрес.

Зарегистрируйся, чтобы продолжить изучение работы

    Поделиться сочинением
    Ещё сочинения
    Нет времени делать работу? Закажите!

    Отправляя форму, вы соглашаетесь с политикой конфиденциальности и обработкой ваших персональных данных.