summaryrefslogtreecommitdiff
path: root/devdocs/c/comment.html
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2025-08-14 22:58:58 -0500
committerCraig Jennings <c@cjennings.net>2025-08-14 22:58:58 -0500
commit82ba818ff456bcd6d56a06226e3f27e98fbb55c3 (patch)
tree158cfc17b2f644a10f063cb546752cfaae12c97f /devdocs/c/comment.html
parent9278ddd4ea1a8b1a4c1edaa8894516e3f48d245b (diff)
downloaddotemacs-82ba818ff456bcd6d56a06226e3f27e98fbb55c3.tar.gz
dotemacs-82ba818ff456bcd6d56a06226e3f27e98fbb55c3.zip
removing all downloaded devdocs files
Diffstat (limited to 'devdocs/c/comment.html')
-rw-r--r--devdocs/c/comment.html86
1 files changed, 0 insertions, 86 deletions
diff --git a/devdocs/c/comment.html b/devdocs/c/comment.html
deleted file mode 100644
index 07ac5f27..00000000
--- a/devdocs/c/comment.html
+++ /dev/null
@@ -1,86 +0,0 @@
- <h1 id="firstHeading" class="firstHeading">Comments</h1> <p>Comments serve as a sort of in-code documentation. When inserted into a program, they are effectively ignored by the compiler; they are solely intended to be used as notes by the humans that read source code.</p>
-<h3 id="Syntax"> Syntax</h3> <table class="t-sdsc-begin"> <tr class="t-sdsc"> <td> <code>/*</code> <span class="t-spar">comment</span> <code>*/</code> </td> <td> (1) </td> <td class="t-sdsc-nopad"> </td>
-</tr> <tr class="t-sdsc"> <td> <code>//</code> <span class="t-spar">comment</span> </td> <td> (2) </td> <td> <span class="t-mark-rev t-since-c99">(since C99)</span> </td>
-</tr>
-</table> <div class="t-li1">
-<span class="t-li">1)</span> Often known as "C-style" or "multi-line" comments.</div> <div class="t-li1">
-<span class="t-li">2)</span> Often known as "C++-style" or "single-line" comments.</div> <p>All comments are removed from the program at <a href="language/translation_phases" title="c/language/translation phases">translation phase 3</a> by replacing each comment with a single whitespace character.</p>
-<h3 id="C-style"> C-style</h3> <p>C-style comments are usually used to comment large blocks of text or small fragments of code; however, they can be used to comment single lines. To insert text as a C-style comment, simply surround the text with <code>/*</code> and <code>*/</code>. C-style comments tell the compiler to ignore all content between <code>/*</code> and <code>*/</code>. Although it is not part of the C standard, <code>/**</code> and <code>**/</code> are often used to indicate documentation blocks; this is legal because the second asterisk is simply treated as part of the comment.</p>
-<p>Except within a <a href="language/character_constant" title="c/language/character constant">character constant</a>, a <a href="language/string_literal" title="c/language/string literal">string literal</a>, or a comment, the characters <code>/*</code> introduce a comment. The contents of such a comment are examined only to identify multibyte characters and to find the characters <code>*/</code> that terminate the comment. C-style comments cannot be nested.</p>
-<table class="t-rev-begin"> <tr class="t-rev t-since-c99">
-<td> <h3 id="C.2B.2B-style"> C++-style</h3> <p>C++-style comments are usually used to comment single lines of text or code; however, they can be placed together to form multi-line comments. To insert text as a C++-style comment, simply precede the text with <code>//</code> and follow the text with the new line character. C++-style comments tell the compiler to ignore all content between <code>//</code> and a new line.</p>
-<p>Except within a <a href="language/character_constant" title="c/language/character constant">character constant</a>, a <a href="language/string_literal" title="c/language/string literal">string literal</a>, or a comment, the characters <code>//</code> introduce a comment that includes all multibyte characters up to, but not including, the next new-line character. The contents of such a comment are examined only to identify multibyte characters and to find the new-line character that terminates the comment. C++-style comments can be nested:</p>
-<div class="c source-c"><pre data-language="c">// y = f(x); // invoke algorithm</pre></div> <p>A C-style comment may appear within a C++-style comment:</p>
-<div class="c source-c"><pre data-language="c">// y = f(x); /* invoke algorithm */</pre></div> <p>A C++-style comment may appear within a C-style comment; this is a mechanism for excluding a small block of source code:</p>
-<div class="c source-c"><pre data-language="c">/*
- y = f(x); // invoke algorithms
- z = g(x);
-*/</pre></div> </td> <td><span class="t-mark-rev t-since-c99">(since C99)</span></td>
-</tr> </table> <h3 id="Notes"> Notes</h3> <p>Because comments <a href="language/translation_phases" title="c/language/translation phases">are removed</a> before the preprocessor stage, a macro cannot be used to form a comment and an unterminated C-style comment doesn't spill over from an #include'd file.</p>
-<div class="c source-c"><pre data-language="c">/* An attempt to use a macro to form a comment. */
-/* But, a space replaces characters "//". */
-#ifndef DEBUG
- #define PRINTF //
-#else
- #define PRINTF printf
-#endif
-...
-PRINTF("Error in file %s at line %i\n", __FILE__, __LINE__);</pre></div> <p>Besides commenting out, other mechanisms used for source code exclusion are:</p>
-<div class="c source-c"><pre data-language="c">#if 0
- puts("this will not be compiled");
- /* no conflict with C-style comments */
- // no conflict with C++-style comments
-#endif</pre></div> <p>and</p>
-<div class="c source-c"><pre data-language="c">if(0) {
- puts("this will be compiled but not be executed");
- /* no conflict with C-style comments */
- // no conflict with C++-style comments
-}</pre></div> <p>The introduction of // comments in C99 was a breaking change in some rare circumstances:</p>
-<div class="c source-c"><pre data-language="c">a = b //*divisor:*/ c
-+ d; /* C89 compiles a = b / c + d;
- C99 compiles a = b + d; */</pre></div> <h3 id="Example"> Example</h3> <div class="t-example"> <div class="c source-c"><pre data-language="c">#include &lt;stdio.h&gt;
-/*
-C-style comments can contain
-multiple lines.
-*/
-
-/* Or, just one line. */
-
-// C++-style comments can comment one line.
-
-// Or, they can
-// be strung together.
-
-int main(void)
-{
- // The below code won't be run
- // puts("Hello");
-
- // The below code will be run
- puts("World");
-
- // A note regarding backslash + newline.
- // Despite belonging to translation phase 2 (vs phase 3 for comments),
- // '\' still determines which portion of the source code is considered
- // as 'comments':
- // This comment will be promoted to the next line \
- puts("Won't be run"); // may issue a warning "multi-line comment"
- puts("Hello, again");
-}</pre></div> <p>Output:</p>
-<div class="text source-text"><pre data-language="c">World
-Hello, again</pre></div> </div> <h3 id="References"> References</h3> <ul>
-<li> C17 standard (ISO/IEC 9899:2018): </li>
-<ul><li> 6.4.9 Comments (p: 54) </li></ul>
-<li> C11 standard (ISO/IEC 9899:2011): </li>
-<ul><li> 6.4.9 Comments (p: 75) </li></ul>
-<li> C99 standard (ISO/IEC 9899:1999): </li>
-<ul><li> 6.4.9 Comments (p: 66) </li></ul>
-<li> C89/C90 standard (ISO/IEC 9899:1990): </li>
-<ul><li> 3.1.9 Comments </li></ul>
-</ul> <h3 id="See_also"> See also</h3> <table class="t-dsc-begin"> <tr class="t-dsc"> <td colspan="2"> <span><a href="https://en.cppreference.com/w/cpp/comments" title="cpp/comments" class="mw-redirect">C++ documentation</a></span> for <span class=""><span>Comments</span></span> </td>
-</tr> </table> <div class="_attribution">
- <p class="_attribution-p">
- &copy; cppreference.com<br>Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.<br>
- <a href="https://en.cppreference.com/w/c/comment" class="_attribution-link">https://en.cppreference.com/w/c/comment</a>
- </p>
-</div>