Compartilhamento de tecnologia

c Aprenda o caminho para entrevistar

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Qual é a diferença entre uma referência e um ponteiro?
  • Ponteiros e referências são conceitos de endereço. Um ponteiro aponta para um determinado pedaço de memória e seu conteúdo é o endereço da memória apontada;

  • O programa aloca uma área de memória para variáveis ​​de ponteiro, mas não para referências.

  • Ao usar ponteiros, adicione * na frente deles e as referências podem ser usadas diretamente.

  • As referências são inicializadas quando são definidas e não podem ser alteradas posteriormente; os ponteiros podem ser alterados. Ou seja, o objeto referenciado não pode ser alterado, mas o objeto ponteiro pode ser alterado.

  • Não existem referências nulas, mas existem ponteiros nulos. Isso torna o código que usa referências mais eficiente do que o uso de ponteiros. Porque não há necessidade de testar a validade de uma referência antes de utilizá-la. Por outro lado, os ponteiros devem sempre ser testados para evitar que sejam nulos.

  • Use “sizeof” em uma referência para obter o tamanho da variável e use “sizeof” em um ponteiro para obter o tamanho do endereço da variável.

  • Teoricamente não há limite para o número de níveis de ponteiro, mas existe apenas um nível de referência. Ou seja, não há referência a uma referência, mas pode haver um ponteiro para um ponteiro. int **p //Legal, int