source: public/doc/gnu-c/Function-Pointers.html@ 02598c2

Last change on this file since 02598c2 was 02598c2, checked in by Mikhail Kirillov <w96k@…>, on Oct 6, 2022 at 12:36:29 PM

Add gnu-c

  • Property mode set to 100644
File size: 4.5 KB
Line 
1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2<html>
3<!-- Copyright (C) 2022 Richard Stallman and Free Software Foundation, Inc.
4
5(The work of Trevis Rothwell and Nelson Beebe has been assigned or
6licensed to the FSF.)
7
8Permission is granted to copy, distribute and/or modify this document
9under the terms of the GNU Free Documentation License, Version 1.3 or
10any later version published by the Free Software Foundation; with the
11Invariant Sections being "GNU General Public License," with the
12Front-Cover Texts being "A GNU Manual," and with the Back-Cover
13Texts as in (a) below. A copy of the license is included in the
14section entitled "GNU Free Documentation License."
15
16(a) The FSF's Back-Cover Text is: "You have the freedom to copy and
17modify this GNU manual. Buying copies from the FSF supports it in
18developing GNU and promoting software freedom." -->
19<!-- Created by GNU Texinfo 6.7, http://www.gnu.org/software/texinfo/ -->
20<head>
21<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
22<title>Function Pointers (GNU C Language Manual)</title>
23
24<meta name="description" content="Function Pointers (GNU C Language Manual)">
25<meta name="keywords" content="Function Pointers (GNU C Language Manual)">
26<meta name="resource-type" content="document">
27<meta name="distribution" content="global">
28<meta name="Generator" content="makeinfo">
29<link href="index.html" rel="start" title="Top">
30<link href="Symbol-Index.html" rel="index" title="Symbol Index">
31<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
32<link href="Functions.html" rel="up" title="Functions">
33<link href="Declaring-Function-Pointers.html" rel="next" title="Declaring Function Pointers">
34<link href="Function-Call-Semantics.html" rel="prev" title="Function Call Semantics">
35<style type="text/css">
36<!--
37a.summary-letter {text-decoration: none}
38blockquote.indentedblock {margin-right: 0em}
39div.display {margin-left: 3.2em}
40div.example {margin-left: 3.2em}
41div.lisp {margin-left: 3.2em}
42kbd {font-style: oblique}
43pre.display {font-family: inherit}
44pre.format {font-family: inherit}
45pre.menu-comment {font-family: serif}
46pre.menu-preformatted {font-family: serif}
47span.nolinebreak {white-space: nowrap}
48span.roman {font-family: initial; font-weight: normal}
49span.sansserif {font-family: sans-serif; font-weight: normal}
50ul.no-bullet {list-style: none}
51-->
52</style>
53
54
55</head>
56
57<body lang="en">
58<span id="Function-Pointers"></span><div class="header">
59<p>
60Next: <a href="The-main-Function.html" accesskey="n" rel="next">The main Function</a>, Previous: <a href="Function-Call-Semantics.html" accesskey="p" rel="prev">Function Call Semantics</a>, Up: <a href="Functions.html" accesskey="u" rel="up">Functions</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Symbol-Index.html" title="Index" rel="index">Index</a>]</p>
61</div>
62<hr>
63<span id="Function-Pointers-1"></span><h3 class="section">22.5 Function Pointers</h3>
64<span id="index-function-pointers"></span>
65<span id="index-pointers-to-functions"></span>
66
67<p>A function name refers to a fixed function. Sometimes it is useful to
68call a function to be determined at run time; to do this, you can use
69a <em>function pointer value</em> that points to the chosen function
70(see <a href="Pointers.html">Pointers</a>).
71</p>
72<p>Pointer-to-function types can be used to declare variables and other
73data, including array elements, structure fields, and union
74alternatives. They can also be used for function arguments and return
75values. These types have the peculiarity that they are never
76converted automatically to <code>void *</code> or vice versa. However, you
77can do that conversion with a cast.
78</p>
79<table class="menu" border="0" cellspacing="0">
80<tr><td align="left" valign="top">&bull; <a href="Declaring-Function-Pointers.html" accesskey="1">Declaring Function Pointers</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">How to declare a pointer to a function.
81</td></tr>
82<tr><td align="left" valign="top">&bull; <a href="Assigning-Function-Pointers.html" accesskey="2">Assigning Function Pointers</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">How to assign values to function pointers.
83</td></tr>
84<tr><td align="left" valign="top">&bull; <a href="Calling-Function-Pointers.html" accesskey="3">Calling Function Pointers</a></td><td>&nbsp;&nbsp;</td><td align="left" valign="top">How to call functions through pointers.
85</td></tr>
86</table>
87
88
89
90
91</body>
92</html>
Note: See TracBrowser for help on using the repository browser.