"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Comprender los consejos

Comprender los consejos

Publicado el 2024-07-29
Navegar:336

Entendendo Ponteiros

En las carreras de tecnología, hay conceptos y materias que generalmente asustan a los estudiantes, algunos de los ejemplos principales son materias relacionadas con la Programación Orientada a Objetos y Cálculo, otro ejemplo son algunas nociones más básicas abstractas funciones como punteros, principalmente en C, tema de este artículo.
A diferencia de nosotros, las computadoras no conocen cierta información por una “etiqueta” o un “nombre”, sino por la dirección donde se encuentran esos datos en la memoria. Podemos pensar en la memoria como un conjunto de “celdas” que contienen una cantidad de bits que almacenan 0 o 1 y cada celda está asociada a una determinada dirección donde almacena cierta información para que los programas ejecutados por la máquina puedan acceder a estos datos y manipularlos. él. .
Teniendo en cuenta que para que un programa pueda utilizar datos necesita conocer su dirección en memoria, podemos concebir el concepto de puntero. El puntero es una variable que “apunta” a algún otro dato, es como si fuera un espacio en la memoria destinado a almacenar la dirección de otra variable o información para que pueda ser manipulada.
Pero ahora surge la pregunta, ¿para qué sirve un puntero? El puntero permite algunas operaciones más complejas que involucran memoria, como la asignación dinámica con Malloc o la creación de estructuras de datos más complejas, etc. Además, hay algunos detalles que los estudiantes no notan tan fácilmente al principio, como el hecho de que el nombre de un vector es un puntero. Así es, un vector no es más que un “puntero fijo” que apunta a una determinada posición en la memoria y que utilizamos el índice para manipular según sea necesario.
Otro uso es manipular datos por referencia, por ejemplo: pasar un array como parámetro a otra función, permitiendo modificar el array original en lugar de que el valor u objeto pasado sea solo una copia, algo que, por ejemplo, ocurre en Javascript donde no existe un concepto de puntero (al menos no explícitamente), por ejemplo:

#include 

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

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



Otro uso no tan obvio de los punteros, esta vez para lenguajes orientados a objetos, donde podemos, por ejemplo, crear objetos dinámicos y facilitar el trabajo con herencia y polimorfismo.
Tenemos este ejemplo a continuación con 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;
}
Declaración de liberación Este artículo se reproduce en: https://dev.to/adrielh024/entendondo-ponteiros-1n8e Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3