#include <stdio.h> #include <stdarg.h> typedef struct STest { Char NUM; } stest_st, * stest_pst; int principal ( int argn, Char * el argv []) { const int iNum = 10 ; // error, const modificador iNum variable, su valor no se puede modificar iNum = 20 es ; int const iNum2 = 30 ; // error, variables iNum const modificado, su valor no se puede modificar iNum2 = 40 ; const int * = & ptr1iNum; ptr1 = & iNum2; // correctas objetos, const modificados ptr1 puntos, representa el valor del objeto señalado no puede ser modificado, pero puede apuntar a otros objetos; * ptr1 = 50 ; // error, ptr1 no modifica el objeto apuntado int const * = & ptr2 iNum; ptr2 = & iNum2; // supra, correctamente * ptr2 = 60 ; // supra, error int * const ptr3 = & iNum; ptr3 = & iNum2; // error, const puntero modificado ptr3, no puede ser modificado para punto representa otros objetos, pero los objetos pueden ser punto modificado; * = ptr370 ; // correctamente, que apunta al objeto puede ser modificado; T stest_st; t.num = 80 ; const stest_pst ptrSt1; ptrSt1 = & T; // error, un compilador que tipo stest_pst, variables const se modifica directamente ptrSt1, y por lo tanto este puntero es no apunta a otros objetos; const stest_pst ptrSt2 = (stest_pst) la malloc ( el sizeof (stest_st)); * = T ptrSt2; // correcto, ptrSt2 señaló objeto puede ser modificado; libre (ptrSt2); retorno 0 ; }