Conteúdo do Curso
Fundamentos de C
Fundamentos de C
Ponteiros
Usando o operador de referência &
e o operador de desreferência *
, podemos criar e trabalhar com ponteiros.
Um ponteiro é um tipo de dado, assim como int
, char
ou double
.
O ponteiro é projetado para armazenar um endereço, que você pode obter usando o operador &
.
Para declarar um ponteiro, prefixe-o com o caractere *
.
Em essência, um ponteiro é uma variável que contém o endereço de outro objeto.
Nota
Tipicamente, os ponteiros são nomeados prefixando a letra
p
ao nome do objeto para o qual estão apontando.
Quando você desreferencia um ponteiro, você acessa o valor da variável para a qual ele aponta.
Main
#include <stdio.h> int main() { int x = 22543; // variable int* pX = &x; // `pX` is pointer to `x` printf("The value of `pX` is %p\n", pX); // value of pointer `pX` printf("The value of `x` by pointer `pX` is %d\n", *pX); // pointer dereference return 0; }
Nota
*(&variável) == *pVariável
Se você tentar desreferenciar um ponteiro nulo, o compilador levantará um erro:
Exemplo fornecido para mostrar o erro
Main
#include <stdio.h> int main() { int* pX; printf("x = %p", pX); return 0; }
Swipe to show code editor
Determine o tamanho dos ponteiros int
e double
.
Obrigado pelo seu feedback!
Ponteiros
Usando o operador de referência &
e o operador de desreferência *
, podemos criar e trabalhar com ponteiros.
Um ponteiro é um tipo de dado, assim como int
, char
ou double
.
O ponteiro é projetado para armazenar um endereço, que você pode obter usando o operador &
.
Para declarar um ponteiro, prefixe-o com o caractere *
.
Em essência, um ponteiro é uma variável que contém o endereço de outro objeto.
Nota
Tipicamente, os ponteiros são nomeados prefixando a letra
p
ao nome do objeto para o qual estão apontando.
Quando você desreferencia um ponteiro, você acessa o valor da variável para a qual ele aponta.
Main
#include <stdio.h> int main() { int x = 22543; // variable int* pX = &x; // `pX` is pointer to `x` printf("The value of `pX` is %p\n", pX); // value of pointer `pX` printf("The value of `x` by pointer `pX` is %d\n", *pX); // pointer dereference return 0; }
Nota
*(&variável) == *pVariável
Se você tentar desreferenciar um ponteiro nulo, o compilador levantará um erro:
Exemplo fornecido para mostrar o erro
Main
#include <stdio.h> int main() { int* pX; printf("x = %p", pX); return 0; }
Swipe to show code editor
Determine o tamanho dos ponteiros int
e double
.
Obrigado pelo seu feedback!