summaryrefslogtreecommitdiff
path: root/reference/C/SYNTAX/define_preprocessor.html
blob: 4023d2b5527996bc558d6b27c6e14fca55e71e3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
<title>define preprocessor</title>
<head>
<script language="JavaScript">
</script>
</head>
<body bgcolor="#ffffcc">
<hr>
<center><h1>#define preprocessor</h1></center>
<hr>
<p>
The <b>#define</b> preprocessor allows us to define symbolic names and constants.
A quick example<p>
<pre>
	#define PI 3.14159
</pre>
This statement will translate every occurance of PI in the program to 3.14159.
Here is a more complete example:<p>
<pre>

	#define PI 3.14159
	main()
	{
   	   int r=10;
	   float cir;
	   cir = PI * (r*r);
	}
</pre>
This feature is partically usefull for defining 'magic' numbers.<p>

<hr>
<h2>See Also:</h2>
<ul>
<li>A related C keyword is <a href=enum.html>enum</a> which can be used to 
build lists of aliases.<p>

<li>Another related C keyword is <a href=const.html>const</a>.
<p>

<li>An advanced use of #define is in the creation of <a href=macros.html>
macros</a>.
</ul>

<hr>
<h2>Examples:</h2>
<a href="../EXAMPLES/define.c"><img src="../../GRAPHICS/computer.gif"></a>
example program.<p>

<a href="../EXAMPLES/enum5.c"><img src="../../GRAPHICS/computer.gif"></a>
Conflict between enum and #define.<p>

<p>

<p>

<hr>
<p>
<center>
<table border=2 width="80%" bgcolor="ivory">
<tr align=center>
<td width="25%">
<a href="../cref.html">                  Top</a>
</td><td width="25%">
<a href="../master_index.html">          Master Index</a>
</td><td width="25%">
<a href="keywords.html">                 Keywords</a>
</td><td width="25%">
<a href="../FUNCTIONS/funcref.htm">      Functions</a>
</td>
</tr>
</table>
</center>
<p>
<hr>
<address>Martin Leslie 
</address><p>
</body>
</html>