Diferença entre Array e Pointer
Índice:
o principal diferença entre a matriz e o ponteiro é que um array é uma estrutura de dados que armazena uma coleção de elementos do mesmo tipo de dados, enquanto um ponteiro é uma variável que contém o endereço de outra variável na memória do computador.
Array e ponteiro são dois conceitos usados em linguagens de programação como C e C ++. Uma matriz é uma coleção de dados que contém um número fixo de valores do mesmo tipo de dados. Por exemplo, para armazenar as notas de 10 alunos, o programador pode criar um array que pode armazenar 10 inteiros. Por outro lado, um ponteiro é uma variável que contém o endereço de outra variável. Os ponteiros ajudam a acessar a memória e a manipular endereços de memória.
Array, Pointer
O que é um Array
Um array é uma estrutura de dados que armazena um número fixo de elementos do mesmo tipo. Todos os elementos da matriz estão em locais de memória contíguos.
Figura 1: Array
Suponha que você precise armazenar valores de 50 inteiros. É possível criar variáveis para cada número inteiro, mas é difícil e demorado. Uma matriz pode ser usada para superar esse problema.
números internos [50];
A instrução acima alocará uma matriz chamada números, que pode armazenar cinquenta inteiros. Um elemento específico da matriz pode ser avaliado usando o índice. O índice inicial é 0. Como existem 50 elementos na matriz, o elemento final tem o índice 49.
números [1] = 30;
A declaração acima atribuirá o valor 30 ao 1st índice da matriz de números.
Por exemplo, a média dupla [10]; irá criar uma matriz chamada média. Ele pode armazenar 10 valores duplos.
Um array é mais fácil de criar e mais fácil de acessar os elementos. Por outro lado, um array possui um tamanho fixo. Se o tamanho do array for 10, ele não pode ser usado para armazenar 20 elementos. Em outras palavras, a alocação de memória para um array é estática.
O que é um Pointer
Uma variável é um local da memória para armazenar um valor. Cada local de memória tem um endereço para identificá-lo.
Figura 2: Ponteiro
Um ponteiro é uma variável que armazena o endereço de outra variável. O ponteiro é declarado antes de armazenar um endereço de variável. O asterisco * é usado para declarar um ponteiro.
int * ptr;
O ptr é um ponteiro para uma variável inteira.
double * ptr1;
O ptr1 é um ponteiro para uma variável dupla. Consulte o código a seguir.
Figura 3: Programa com ponteiros
A variável ‘a’ contém o valor 20. O ptr é um ponteiro para um número inteiro. Na linha 8, ptr é atribuído com o endereço da variável a. Agora ptr está apontando para um. Portanto, imprimir o valor apontado por ptr fornecerá o valor de a.
Se não houver endereço a ser atribuído, o ponteiro pode ser atribuído com um valor NULL. Esse tipo de ponteiro é denominado ponteiro nulo.
int * ptr = NULL;
Relação entre Array e Pointer
Consulte o programa abaixo.
Figura 4: Arrays com ponteiros
Existe uma matriz chamada arr. Ele contém 5 inteiros. O ptr é um ponteiro para um número inteiro. Na linha 8, arr é atribuído a ptr. Portanto, o ptr está apontando para o 0º elemento de índice da matriz. Imprimir o valor de ptr exibirá o valor 0º elemento de índice. São 10.
Diferença entre Array e Pointer
Definição
Array é uma estrutura de dados que consiste em uma coleção de elementos, cada um identificado pelo índice do array. Um ponteiro é um objeto de linguagem de programação que armazena o endereço de memória de outro valor localizado na memória do computador.
Base
Enquanto uma matriz se refere a um conjunto de elementos de dados, um ponteiro é uma variável que aponta para algum outro local da memória.
Sintaxe
Sintaxe de array - tipo de dados arrayName [tipo de dados];
Sintaxe do ponteiro - tipo de dados * nome_variável;
Uso
Embora os arrays possam ser usados para alocar memória de tamanho fixo (memória estática), os ponteiros podem ser usados para alocação de memória dinâmica.
Conclusão
Os dois termos array e ponteiro são dois conceitos de programação. A diferença entre array e ponteiro é que um array é uma estrutura de dados que armazena uma coleção de elementos do mesmo tipo de dados, enquanto um ponteiro é uma variável que contém o endereço de outra variável na memória do computador.
Referência:
1. “Matrizes em C.” Www.tutorialspoint.com, Tutorials Point, disponível aqui.2. “Ponteiros em C.” Www.tutorialspoint.com, Tutorials Point, disponível aqui.
Cortesia de imagem:
1. “CPT-programming-array” Por Pluke - Próprio trabalho (CC0) via Commons Wikimedia2. “Ponteiros” de Este arquivo foi feito por Usuário: SvenTranslation Trabalho do próprio (CC BY-SA 3.0) via Commons Wikimedia
![Diferença entre Array e Pointer Diferença entre Array e Pointer](https://img.books-kingdom.com/images/001/image-350.jpg)