Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

183
Vistas
¿Por qué se usa el operador Dereference para declarar punteros?

¿Por qué se usa * para declarar punteros?

Elimina la indirección, pero no elimina ninguna cuando declara un puntero como int *a = &b , ¿no debería eliminar la indirección de &b ?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Muchos símbolos en C y C++ están sobrecargados. Es decir, sus significados dependen del contexto donde se utilicen. Por ejemplo, el símbolo & puede denotar la dirección del operador y el operador AND binario bit a bit.

El símbolo * utilizado en una declaración denota un puntero:

 int b = 10; int *a = &b,

pero usado en expresiones, cuando se aplica a una variable de tipo puntero, denota el operador de desreferencia, por ejemplo:

 printf( "%d\n", *a );

También puede denotar el operador de multiplicación, por ejemplo, puede escribir:

 printf( "%d\n", b ** a );

eso es lo mismo que

 printf( "%d\n", b * *a );

De manera similar, el par de llaves cuadradas se puede usar en una declaración de una matriz, como:

 int a[10];

y como operador de subíndice:

 a[5] = 5;
over 4 years ago · Santiago Trujillo Denunciar

0

Cada vez que tenga una declaración de puntero con una inicialización como esta:

 type *x = expr;

es equivalente a la inicialización separada seguida de la asignación:

 type *x; x = expr;

no es equivalente a

 type *x; *x = expr; /* WRONG */
over 4 years ago · Santiago Trujillo Denunciar

0

Es parte de la declaración, por lo que no es un operador de desreferencia en absoluto. Sin embargo, todavía significa lo mismo.

 int *a

se puede leer como

El valor apuntado por a es un int .

al igual que

 printf("%d\n", *a);

se puede leer como

Imprime el valor apuntado por a .

Consulte esta respuesta a la forma correcta de declarar variables de puntero en C/C++ para obtener información sobre esto.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda