Diferencia entre matriz y puntero

los diferencia principal entre matriz y puntero es que una array es una estructura de datos que almacena una colección de elementos del mismo tipo de datos, mientras que un puntero es una variable que contiene la dirección de otra variable en la memoria de la computadora.

Array y puntero son dos conceptos utilizados en lenguajes de programación como C y C ++. Una matriz es una colección de datos que contiene un número fijo de valores del mismo tipo de datos. Por ejemplo, para almacenar las marcas de 10 estudiantes, el programador puede crear una matriz que puede almacenar 10 enteros. Por otro lado, un puntero es una variable que contiene la dirección de otra variable. Los punteros ayudan a acceder a la memoria y manipular direcciones de memoria. 

Áreas clave cubiertas

1. Que es un array
     - Definición, Funcionalidad
2. Que es un puntero
    - Definición, Funcionalidad
3. Relación entre matriz y puntero
    - Esquema de asociación
3. Diferencia entre matriz y puntero
    - Comparación de diferencias clave

Términos clave

Matriz, puntero

Que es un array

Una matriz es una estructura de datos que almacena un número fijo de elementos del mismo tipo. Todos los elementos de la matriz están en ubicaciones de memoria contiguas.

Figura 1: Array

Supongamos que necesita almacenar valores de 50 enteros. Es posible crear variables para cada entero, pero es difícil y requiere más tiempo. Una matriz se puede utilizar para superar este problema.

números int [50];

La declaración anterior asignará una matriz llamada números, que puede almacenar cincuenta enteros. Un elemento específico de la matriz se puede evaluar utilizando el índice. El índice de inicio es 0. Como hay 50 elementos en la matriz, el elemento final tiene el índice 49.

números [1] = 30;

La declaración anterior asignará valor 30 a la 1S t índice de la matriz de números.

Además, es posible crear matrices de otros tipos de datos.

Por ejemplo, el doble promedio [10]; Creará una matriz llamada media. Puede almacenar 10 valores dobles..

Una matriz es más fácil de crear y más fácil de acceder a los elementos. Por otro lado, una matriz tiene un tamaño fijo. Si el tamaño de la matriz es 10, no se puede utilizar para almacenar 20 elementos. En otras palabras, la asignación de memoria para una matriz es estática.  

Que es un puntero

Una variable es una ubicación de memoria para almacenar un valor. Cada ubicación de memoria tiene una dirección para identificarla.

Figura 2: Puntero

Un puntero es una variable que almacena la dirección de otra variable. El puntero se declara antes de almacenar una dirección variable. El asterisco * se utiliza para declarar un puntero.

int * ptr;

El ptr es un puntero a una variable entera.

double * ptr1;

El ptr1 es un puntero a una variable doble. Consulte el siguiente código.

Figura 3: Programa con punteros

La variable 'a' contiene el valor 20. La ptr es un puntero a un entero. En la línea 8, a ptr se le asigna la dirección de la variable a. Ahora ptr está apuntando a un. Por lo tanto, imprimir el valor apuntado por ptr dará el valor de un.

Si no hay una dirección para asignar, el puntero puede asignarse con un valor NULO. Este tipo de puntero se llama el puntero nulo..

int * ptr = NULL;

Relación entre matriz y puntero

Consulte el siguiente programa.

Figura 4: Arreglos con punteros

Hay una matriz llamada arr. Contiene 5 enteros. El ptr es un puntero a un entero. En la línea 8, arr se asigna a ptr. Por lo tanto, ptr está apuntando al elemento de índice 0 de la matriz. La impresión del valor de ptr mostrará el valor de 0th elemento de índice. Son las 10.

Diferencia entre matriz y puntero

Definición

La matriz es una estructura de datos que consiste en una colección de elementos, cada uno identificado por el índice de la matriz. Un puntero es un objeto de lenguaje de programación que almacena la dirección de memoria de otro valor ubicado en la memoria de la computadora.

Base

Mientras que una matriz se refiere a un conjunto de elementos de datos, un puntero es una variable que apunta a otra ubicación de memoria.

Sintaxis

Sintaxis de matriz: tipo de datos arrayName [tipo de datos];

Sintaxis de puntero - tipo de datos * nombre_variable;

Uso

Aunque las matrices se pueden usar para asignar memoria de tamaño fijo (memoria estática), los punteros se pueden usar para la asignación de memoria dinámica.

Conclusión

Los dos términos matriz y puntero son dos conceptos de programación. La diferencia entre la matriz y el puntero es que una matriz es una estructura de datos que almacena una colección de elementos del mismo tipo de datos, mientras que un puntero es una variable que contiene la dirección de otra variable en la memoria de la computadora.

Referencia:

1. "Arrays in C." Www.tutorialspoint.com, Tutorials Point, disponible aquí.
2. "Punteros en C". Www.tutorialspoint.com, Tutorials Point, disponible aquí.

Imagen de cortesía:

1. "CPT-programación-array" Por Pluke - Trabajo propio (CC0) a través de Commons Wikimedia
2. "Punteros" por Este archivo fue creado por el usuario: SvenTranslation Trabajo propio (CC BY-SA 3.0) a través de Commons Wikimedia