ponteiro de vários níveis Dereferencing: Quando e por que
em programação, usando vários níveis de desreferência ponteira indica a necessidade de acessar dados ou objetos que estão indiretamente relacionados. Um único ponteiro (por exemplo, char *ptr) aponta para um local de memória que contém o endereço dos dados reais. Um ponteiro duplo (por exemplo, char ** PTR) aponta para um local de memória que contém o endereço de um ponteiro, que aponta para os dados. Um ponteiro triplo (por exemplo, char *** PTR) adiciona outro nível de indireção.
Em um contexto de programação orientado a objetos, um ponteiro triplo pode ser usado para representar uma hierarquia de ponteiro complexo. Por exemplo, considere a seguinte estrutura de classe C:
classe A { público: char *b; }; classe B { público: char *c; }; aqui, um objeto A contém um ponteiro para um objeto B, e um objeto B contém um ponteiro para um char. Para acessar o valor do char de uma instância de A, precisaríamos usar a desreferência tripla:
a a; char *value = *** A.B.C;
class A { public: char *b; }; class B { public: char *c; };Matrizes multidimensionais:
A a; char *value = ***a.b.c;
char ** Array;
Array = novo char*[linhas];
for (int i = 0; i
char element = Array [row] [col];
class A { public: char *b; }; class B { public: char *c; };endereço indiretamente:
char element = array[row][col];
struct node { int dados; Nó *a seguir; }; Nó *cabeça; while (cabeça! = null) { int data = head-> dados; Head = Head-> Next; }
Gerenciamento de memória:
struct Node { int data; Node *next; }; Node *head; while (head != NULL) { int data = head->data; head = head->next; }
int ** Array;
array = new int*[size];
// Dealpor a memória:
for (int i = 0; i
int **array; array = new int*[size]; // Deallocate the memory: for (int i = 0; i
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3