Hay tres casos de puntero modificado const
-
puntero modificado const --- puntero constante
-
constante modificada const --- constante de puntero
-
const modifica punteros y modifica constantes
1. puntero const modificado --- puntero constante
const modifica el puntero, el punto del puntero se puede cambiar y el valor al que apunta el puntero no se puede cambiar
int a = 10;
int b = 10;
//const修饰的是指针,指针指向可以改,指针指向的值不可以更改
const int * p1 = &a;
p1 = &b; //正确
// *p1 = 100; // 报错
int const * a; //同上
p1 es un puntero a un objeto constante de tipo int, llamado puntero constante.
Nota: const ( constante ) int * ( puntero ) p. const va seguido de *, por lo que * p no se puede modificar, pero p se puede modificar.
2. constante modificada const --- constante de puntero
const modifica una constante, el punto del puntero no se puede cambiar y el valor al que apunta el puntero se puede cambiar
int a = 10;
int b = 10;
//const修饰的是常量,指针指向不可以改,指针指向的值可以更改
int * const p2 = &a;
//p2 = &b; //错误
*p2 = 100; //正确
Como su nombre lo indica, una constante de puntero es una constante, pero es modificada por un puntero.
Nota: int * ( puntero ) const ( constante ) p2. const va seguido de p2, por lo que p2 no se puede modificar, mientras que * p2 se puede modificar.
3. const modifica punteros y constantes
int a = 10;
int b = 10;
//const既修饰指针又修饰常量
const int * const p3 = &a;
//p3 = &b; //错误
//*p3 = 100; //错误
p3 es un puntero constante y luego apunta a un objeto constante de tipo int. Se llama puntero constante a una constante.