blob: 1f3b3de56ea8344df3f79e009a48e177b75c26c0 (
plain)
1
2
3
4
5
6
|
<div class="section-level-extent" id="Pointer-Arith"> <div class="nav-panel"> <p> Next: <a href="variadic-pointer-args" accesskey="n" rel="next">Pointer Arguments in Variadic Functions</a>, Previous: <a href="subscripting" accesskey="p" rel="prev">Non-Lvalue Arrays May Have Subscripts</a>, Up: <a href="c-extensions" accesskey="u" rel="up">Extensions to the C Language Family</a> [<a href="index#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="indices" title="Index" rel="index">Index</a>]</p> </div> <h1 class="section" id="Arithmetic-on-void--and-Function-Pointers"><span>6.24 Arithmetic on void- and Function-Pointers<a class="copiable-link" href="#Arithmetic-on-void--and-Function-Pointers"> ¶</a></span></h1> <p>In GNU C, addition and subtraction operations are supported on pointers to <code class="code">void</code> and on pointers to functions. This is done by treating the size of a <code class="code">void</code> or of a function as 1. </p> <p>A consequence of this is that <code class="code">sizeof</code> is also allowed on <code class="code">void</code> and on function types, and returns 1. </p> <p>The option <samp class="option">-Wpointer-arith</samp> requests a warning if these extensions are used. </p> </div><div class="_attribution">
<p class="_attribution-p">
© Free Software Foundation<br>Licensed under the GNU Free Documentation License, Version 1.3.<br>
<a href="https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Pointer-Arith.html" class="_attribution-link">https://gcc.gnu.org/onlinedocs/gcc-13.1.0/gcc/Pointer-Arith.html</a>
</p>
</div>
|