logo

Constantes en C

Las constantes en C son variables de solo lectura cuyos valores no se pueden modificar una vez declarados en el programa C. El tipo de constante puede ser una constante entera, una constante de puntero flotante, una constante de cadena o una constante de caracteres. En lenguaje C, el constante La palabra clave se utiliza para definir las constantes.

En este artículo, discutiremos sobre las constantes en la programación en C, las formas de definir constantes en C, los tipos de constantes en C, sus propiedades y la diferencia entre literales y constantes.



¿Qué es una constante en C?

Como sugiere el nombre, una constante en C es una variable que no se puede modificar una vez declarada en el programa. No podemos realizar ningún cambio en el valor de las variables constantes una vez definidas.

¿Cómo definir una constante en C?

Definimos una constante en lenguaje C usando el constante palabra clave. También conocida como calificador de tipo constante, la palabra clave const se coloca al inicio de la declaración de variable para declarar esa variable como una constante.

Sintaxis para definir constante

const   data_type var_name   =   value  ;>

sintaxis de constantes en c



Ejemplo de constantes en C

C






// C program to illustrate constant variable definition> #include> int> main()> {> >// defining integer constant using const keyword> >const> int> int_const = 25;> >// defining character constant using const keyword> >const> char> char_const =>'A'>;> >// defining float constant using const keyword> >const> float> float_const = 15.66;> >printf>(>'Printing value of Integer Constant: %d '>,> >int_const);> >printf>(>'Printing value of Character Constant: %c '>,> >char_const);> >printf>(>'Printing value of Float Constant: %f'>,> >float_const);> >return> 0;> }>

>

>

Producción

Printing value of Integer Constant: 25 Printing value of Character Constant: A Printing value of Float Constant: 15.660000>

Una cosa a tener en cuenta aquí es que tenemos que inicializar las variables constantes en la declaración . De lo contrario, la variable almacenará algún valor basura y no podremos cambiarlo. La siguiente imagen describe ejemplos de definiciones de variables correctas e incorrectas.

forma correcta de declarar constantes en c

Tipos de constantes en C

El tipo de constante es el mismo que el tipo de datos de las variables. A continuación se muestra la lista de los tipos de constantes.

  • Constante entera
  • Carácter constante
  • Constante de punto flotante
  • Constante de coma flotante de doble precisión
  • Constante de matriz
  • Estructura constante

Solo tenemos que agregar la palabra clave const al comienzo de la declaración de la variable.

Propiedades de la constante en C

Las propiedades importantes de las variables constantes en C definidas mediante la palabra clave const son las siguientes:

1. Inicialización con Declaración

Sólo podemos inicializar la variable constante en C en el momento de su declaración. De lo contrario, almacenará el valor basura.

2. Inmutabilidad

Las variables constantes en c son inmutables después de su definición, es decir, solo pueden inicializarse una vez en todo el programa. Después de eso, no podemos modificar el valor almacenado dentro de esa variable.

C




10 de 10

// C Program to demonstrate the behaviour of constant> // variable> #include> int> main()> {> >// declaring a constant variable> >const> int> var;> >// initializing constant variable var after declaration> >var = 20;> >printf>(>'Value of var: %d'>, var);> >return> 0;> }>

>

>

Producción

In function 'main': 10:9: error: assignment of read-only variable 'var' 10 | var = 20;  | ^>

Diferencia entre constantes y literales

La constante y los literales a menudo se confunden como lo mismo. Pero en lenguaje C, son entidades diferentes y tienen semántica diferente. La siguiente tabla enumera las diferencias entre las constantes y los literales en C:

Constante

Literales

Las constantes son variables que no se pueden modificar una vez declaradas. Los literales son los valores fijos que se definen a sí mismos.
Las constantes se definen utilizando la palabra clave const en C. Almacenan valores literales en sí mismas. Ellos mismos son los valores que se asignan a las variables o constantes.
Podemos determinar la dirección de constantes. No podemos determinar la dirección de un literal excepto el literal de cadena.
Son valores. Son valores.
Ejemplo: constante int c = 20. Ejemplo: 24,15,5, 'a', Geeks, etc.

Definición de constante usando el preprocesador #define

También podemos definir una constante en C usando #definir preprocesador . Las constantes definidas usando #define son macros que se comportan como una constante. Estas constantes no las maneja el compilador, las maneja el preprocesador y se reemplazan por su valor antes de la compilación.

  #define     const_name     value>

Ejemplo de macro constante

C




// C Program to define a constant using #define> #include> #define pi 3.14> int> main()> {> >printf>(>'The value of pi: %.2f'>, pi);> >return> 0;> }>

>

>

Producción

The value of pi: 3.14>

Nota: No se prefiere este método para definir constantes, ya que puede introducir errores y dificultar el mantenimiento del código.

Preguntas frecuentes sobre las constantes C

P1. Definir constantes C.

Respuesta:

Las constantes en C son las variables inmutables cuyos valores no se pueden modificar una vez que se declaran en el programa C.

P2. ¿Cuál es el uso de la palabra clave const?

Respuesta:

La palabra clave const es el calificador que se utiliza para declarar la variable constante en lenguaje C.

P3. ¿Podemos inicializar la variable constante después de la declaración?

Respuesta:

lista vacía java

No, no podemos inicializar la variable constante una vez declarada.

P4. ¿Cuál es la forma correcta de declarar la constante en C?

Respuesta:

La forma correcta de declarar una constante en C es inicializar siempre la variable constante cuando la declaramos.

P5. ¿Cuál es la diferencia entre constante definida usando el calificador constante y #define?

Respuesta:

La siguiente tabla enumera las diferencias entre las constantes definidas usando el calificador const y #define en C:

Constantes usando const Constantes usando #define
Son las variables que son inmutables. Son las macros que se reemplazan por su valor.
Son manejados por el compilador. Son manejados por el preprocesador.
Sintaxis: constante tipo nombre = valor ; Sintaxis: #definir valor del nombre

P6. ¿Hay alguna forma de cambiar el valor de una variable constante en C?

Respuesta:

Sí, podemos aprovechar la laguna creada por los punteros para cambiar el valor de una variable declarada como constante en C. El siguiente programa en C demuestra cómo hacerlo.

C




// C Program to change the value of constant variable> #include> int> main()> {> >// defining an integer constant> >const> int> var = 10;> >printf>(>'Initial Value of Constant: %d '>, var);> >// defining a pointer to that const variable> >int>* ptr = &var;> >// changing value> >*ptr = 500;> >printf>(>'Final Value of Constant: %d'>, var);> >return> 0;> }>

>

>

Producción

Initial Value of Constant: 10 Final Value of Constant: 500>

Artículo relacionado - Calificador constante en C