«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Понимание указателей

Понимание указателей

Опубликовано 29 июля 2024 г.
Просматривать:222

Entendendo Ponteiros

В технологических программах есть концепции и предметы, которые обычно пугают студентов, некоторые из основных примеров — предметы, связанные с объектно-ориентированным программированием и исчислением, другой пример — некоторые более базовые абстрактные понятия. такие функции, как указатели, в основном в C, теме этой статьи.
В отличие от нас, компьютеры знают определенную информацию не по «метке» или «имени», а по адресу, по которому эти данные расположены в памяти. Мы можем думать о памяти как о наборе «ячеек», которые содержат несколько битов, хранящих 0 или 1, и каждая ячейка связана с определенным адресом, по которому она хранит некоторую информацию, так что программы, выполняемые машиной, могут получить доступ к этим данным и манипулировать ими. это. .
Принимая во внимание, что для того, чтобы программа могла использовать данные, ей необходимо знать их адрес в памяти, мы можем представить концепцию указателя. Указатель — это переменная, которая «указывает» на некоторые другие данные; это как если бы это было пространство в памяти, предназначенное для хранения адреса другой переменной или информации, чтобы ею можно было манипулировать.
Но теперь возникает вопрос: какая польза от указателя? Указатель позволяет выполнять некоторые более сложные операции с использованием памяти, такие как динамическое выделение с помощью Malloc или создание более сложных структур данных и т. д. Более того, есть некоторые детали, которые ученикам поначалу не так легко заметить, например, тот факт, что имя вектора является указателем. Правильно, вектор — это не что иное, как «фиксированный указатель», указывающий на определенную позицию в памяти, и индекс которого мы используем для манипулирования в соответствии с необходимостью.
Другое использование — манипулирование данными по ссылке, например: передача массива в качестве параметра другой функции, позволяющая изменять исходный массив вместо переданного значения или объекта, являющегося просто копией, что, например, происходит в Javascript, где нет там понятия указателя (по крайней мере не явно), например:

#include 

int vet [5] ={10,20,3,4};

void somadez(int * ref){
    for(int i=0;i



Еще одно не столь очевидное использование указателей, на этот раз для объектно-ориентированных языков, где мы можем, например, создавать динамические объекты и облегчать работу с наследованием и полиморфизмом.
Ниже приведен пример с C:

#include 

using namespace std;

class Animal{
public:
    virtual void som();
};

class Cachorro : public Animal{
public:
    void som(){
        cout som();
    //neste caso podemos usar o ponteiro para acessar métodos e atributos de uma classe derivada.
    return 0;
}
Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/adrielh024/entendendo-ponteiros-1n8e. В случае каких-либо нарушений, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3