Comentarios
Los comentarios sirven como una especie de documentación en código. Cuando se insertan en un programa, son efectivamente ignorados por el compilador; están destinados únicamente a ser usados como notas por los humanos que leen el código fuente.
Contenido |
[editar] Sintaxis
/* comentario */
|
(1) | ||||||||
// comentario
|
(2) | (desde C99) | |||||||
Todos los comentarios se eliminan del programa en la fase de traducción 3 reemplazando cada comentario con un solo carácter de espacio en blanco.
[editar] Estilo C
Los comentarios de estilo C se utilizan normalmente para comentar grandes bloques de texto o pequeños fragmentos de código; sin embargo, se pueden utilizar para comentar líneas simples. Para insertar texto como un comentario de estilo C, simplemente rodee el texto con /*
y */
. Los comentarios de estilo C le dicen al compilador que ignore todo el contenido entre /*
y */
. Aunque no forma parte del estándar C, /**
y */
se utilizan a menudo para indicar bloques de documentación; esto es legal porque el segundo asterisco se trata simplemente como parte del comentario.
Excepto dentro de un carácter constante, un string literal, o un comentario, los caracteres /*
introducen un comentario. El contenido de un comentario de este tipo se examina sólo para identificar los caracteres multibyte y para encontrar los caracteres */
que terminan el comentario. Los comentarios de estilo C no pueden anidarse.
Estilo C++Los comentarios de estilo C++ se utilizan normalmente para comentar líneas individuales de texto o código; sin embargo, se pueden colocar juntos para formar comentarios de varias líneas. Para insertar texto como un comentario al estilo de C++, simplemente preceda el texto con Excepto dentro de un carácter constante, un string literal o un comentario, los caracteres // y = f(x); // invoca el algoritmo // y = f(x); /* invoca al algoritmo */ Un comentario de estilo C++ puede aparecer dentro de un comentario de estilo C; este es un mecanismo para excluir un pequeño bloque de código fuente: /*
y = f(x); // invoca los algoritmos
z = g(x);
*/ |
(desde C99) |
[editar] Observaciones
Dado que los comentarios se eliminan antes de la etapa de preprocesador, no se puede utilizar una macro para formar un comentario y un comentario de estilo C sin terminar no se derrama desde un archivo #include'd.
/* Un intento de usar una macro para formar un comentario. */ /* Pero, un espacio reemplaza a los caracteres "//". */ #ifndef DEBUG #define PRINTF // #else #define PRINTF printf #endif ... PRINTF("Error en el archivo %s en la linea %i\n", __FILE__, __LINE__);
#if 0 puts("esto no será compilado"); /* No hay conflicto con los comentarios de estilo C */ // No hay conflicto con los comentarios de estilo C++ #endif
and
if(0) { puts("esto se compilará pero no se ejecutará"); /* No hay conflicto con los comentarios de estilo C */ // No hay conflicto con los comentarios de estilo C++ }
La introducción de los comentarios // en el C99 fue un cambio que introdujo errores en algunas circunstancias poco frecuentes:
a = b //*divisor:*/ c + d; /* C89 compila a = b / c + d; C99 compila a = b + d; */
[editar] Ejemplo
#include <stdio.h> /* Los comentarios de estilo C pueden contener múltiples líneas. */ /* O, sólo una línea. */ // Los comentarios de estilo C++ pueden comentar una línea. // O bien, pueden // ser encadenados. int main(void) { // El siguiente código no se ejecutará // puts("Hola"); // El siguiente código se ejecutará puts("Mundo"); }
Salida:
Mundo
[editar] Referencias
- Standard C11 (ISO/IEC 9899:2011):
- 6.4.9 Comments (p: 75)
- Standard C99 (ISO/IEC 9899:1999):
- 6.4.9 Comments (p: 66)
- Standard C89/C90 (ISO/IEC 9899:1990):
- 3.1.9 Comments
[editar] Véase también
Documentación de C++ para Comentarios
|