single
Alocação Dinâmica de Ponteiro para Ponteiro
Deslize para mostrar o menu
Um ponteiro para ponteiro, denotado como ponteiro duplo (**).
Este é um ponteiro que armazena o endereço de memória de outro ponteiro. Em termos simples, é uma variável cujo valor é o endereço de outro ponteiro. Este conceito pode parecer complexo inicialmente, mas fornece um mecanismo poderoso para lidar com alocação dinâmica de memória avançada.
Sintaxe
main.cpp
12345678910111213#include <iostream> int main() { int x = 10; int *ptr1 = &x; int **ptr2 = &ptr1; // Accessing values using double pointer std::cout << "Address stored in ptr2 (address of ptr1): " << ptr2 << std::endl; std::cout << "Address stored in ptr1 (address of x): " << *ptr2 << std::endl; std::cout << "Value of x: " << **ptr2 << std::endl; }
- ptr1: é um ponteiro para um inteiro (
int*); - ptr2: é um ponteiro duplo para um inteiro (
int**).
Alocação Dinâmica de um Array Bidimensional
Se for necessário criar um array bidimensional de forma dinâmica (em tempo de execução), deve-se utilizar um ponteiro para ponteiro para as linhas.
Em seguida, inicializar cada linha com um array dinâmico (como no capítulo anterior)
Swipe to start coding
Imagine que você está trabalhando com um aplicativo de planilha onde precisa criar uma tabela de números dinamicamente.
Nesta tarefa, você irá trabalhar com arrays bidimensionais dinâmicos e praticar tanto a alocação quanto a desalocação de memória.
- Dentro da função
createAndPrint2DArray, aloque dinamicamente um array 2D de inteiros com o número fornecido de linhas e colunas. - Preencha o array com valores calculados como
row * columns + column, de modo que cada elemento seja único e dependa de sua posição. - Imprima o array no console em formato tabular.
- Libere corretamente toda a memória alocada dinamicamente usando
delete[]para cada linha e, em seguida, para o próprio array de ponteiros.
Solução
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo