C | Clases de almacenamiento y calificadores de tipo | Pregunta 19

#include <stdio.h>
int main()
{
    int x = 5;
    int const * ptr = &x;
    ++(*ptr);
    printf("%d", x);
    
    return 0;
}

(A) Error del compilador
(B) Error de tiempo de ejecución
(C) 6
(D) 5

Respuesta: (A)
Explicación: Consulte las siguientes declaraciones para conocer la diferencia entre un puntero constante y un puntero a una constante.
int * const ptr —> ptr es un puntero constante. Puede cambiar el valor en la ubicación señalada por el puntero p, pero no puede cambiar p para que apunte a otra ubicación.
int const * ptr —> ptr es un puntero a una constante. Puede cambiar ptr para señalar otra variable. Pero no puede cambiar el valor señalado por ptr.

En el programa anterior, ptr es un puntero a una constante. Por lo tanto, el valor señalado no se puede cambiar.

Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *