-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy path1012.html
More file actions
137 lines (109 loc) · 6.34 KB
/
1012.html
File metadata and controls
137 lines (109 loc) · 6.34 KB
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
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content="HTML Tidy, see www.w3.org" />
<title>Ayuda de DIV 2 - Declaración de una estructura</title>
<meta name="keywords" content="div, div2" />
<meta name="description" content="Ayuda en pantalla de DIV Games Studio 2" />
<meta http-equiv="Content-Language" content="ES" />
<meta name="author" content="Hammer Technologies" />
<meta name="copyright" content="© Copyright 1998,99 Hammer Technologies" />
<meta name="generator" content="divhelp v0.1 © 2007 Er_Makina" />
<meta name="robots" content="all,follow,index" />
<meta name="distribution" content="global" />
<link href="estilo.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="botonera">
<ul>
<li><a class="botonindice" href="indice.html">Índice</a></li>
<li><a class="botoninicio" href="3.html">Inicio</a></li>
<li><a class="botonglosario" href="4.html">Glosario</a></li>
<li><a class="botonfunciones" href="1032.html">Funciones</a></li>
</ul>
</div>
<h1>Declaración de una estructura</h1>
<p><strong>STRUCT</strong> <a href="1001.html"><nombre></a> <a href="1079.html">[</a> <a
href="1005.html"><constante></a> <a href="1079.html">]</a><br />
<a href="1009.html"><declaración de dato></a> <a
href="1068.html">;</a><br />
...<br />
<a href="1091.html">END</a></p>
<p>(o bien, si se inicializa la estructura)</p>
<p><strong>STRUCT</strong> <a href="1001.html"><nombre></a> <a href="1079.html">[</a> <a
href="1005.html"><constante></a> <a href="1079.html">]</a><br />
<a href="1009.html"><declaración de dato></a> <a
href="1068.html">;</a><br />
...<br />
<a href="1091.html">END</a> <a href="1073.html">=</a> <a href="1013.html"><lista de
constantes></a></p>
<p>Para declarar una estructura dentro de una sección <a href="1006.html">GLOBAL</a>, <a
href="1007.html">LOCAL</a> o <a href="1008.html">PRIVATE</a> se debe poner la palabra reservada
<strong>STRUCT</strong> precediendo a su nombre; tras éste, y entre corchetes,
(símbolos <a href="1079.html">[ ]</a>) se deberá indicar el <strong>número
de registros</strong> de la estructura.</p>
<p>Tras la cabecera se declararán todos los datos pertenecientes a la estructura, que
conformarán los campos de la misma. Y, por último, para finalizar la
declaración debe aparecer la palabra reservada <strong>END</strong>.</p>
<p>A continuación se muestra un ejemplo de estructura:</p>
<p><strong>STRUCT enemigo[9]</strong><br />
<strong>INT energia;</strong><br />
<strong>WORD x_inicial,y_inicial;</strong><br />
<strong>WORD x_final,y_final;</strong><br />
<strong>STRING nombre[15];</strong><br />
<strong>END</strong><br />
</p>
<p>Al igual que con las tablas, el <strong>número de registros</strong> se expresa como
el <strong>número de registro máximo</strong> de la estructura, es decir, todas
las estructuras tienen desde el registro 0 hasta el indicado entre los corchetes (por ejemplo,
la declaración anterior definie una estructura de <strong>10 registros</strong>).</p>
<p>Se permite acceder al <strong>resgistro 0</strong> de la estructura simplemente con el
nombre de la estructura, es decir, que para el compilador <strong>enemigo[0].y_final</strong>
será lo mismo que <strong>enemigo.y_final</strong>.</p>
<p><strong>Nota:</strong> Cada campo de la estructura puede ser una variable o tabla (de
cualquier tipo, ver los <a href="1401.html">tipos de datos</a>) u otra estructura completa, con
sus diferentes registros y campos.</p>
<hr />
<p><strong>Inicialización de la estructura.</strong></p>
<p>Si se quiere inicializar la estructura (fijar los valores iniciales de sus campos en los
diferentes registros), se deberá poner el símbolo <a href="1073.html">=</a>
(asignación) tras la palabra reservada <strong>END</strong> seguida de una lista de
valores.</p>
<p>Si no se inicializa la estructura, todos los campos serán puestos a 0 por defecto.
Por ejemplo, si se hace la siguiente declaración:</p>
<p><strong>STRUCT a[2]</strong><br />
<strong>b;</strong><br />
<strong>c[1];</strong><br />
<strong>END = 1,2,3,4,5,6,7,8,9;</strong><br />
</p>
<p>Primero se debe tener en cuenta que la estructura <strong>a[]</strong> tiene <strong>3
registros</strong> (desde <strong>a[0]</strong> hasta <strong>a[2]</strong>) y en cada registro
<strong>3 campos</strong> (b,c[0] y c[1]), luego la anterior declaración
inicializará la estructura de la siguiente forma:</p>
<p> <strong>a[0].b=1;</strong><br />
<strong>a[0].c[0]=2;</strong><br />
<strong>a[0].c[1]=3;</strong><br />
<strong>a[1].b=4;</strong><br />
<strong>a[1].c[0]=5;</strong><br />
<strong>...</strong><br />
</p>
<hr />
<p><strong>Inicialización global de los campos.</strong></p>
<p>Si se quiere que todos los registros de la estructura tengan inicialmente los mismos valores
para cada campo, se puede inicializar la estructura globalmente.</p>
<p><strong>STRUCT a[2]</strong><br />
<strong>b=1;</strong><br />
<strong>c[1]=2,3;</strong><br />
<strong>END</strong><br />
</p>
<p>En el ejemplo anterior, todos los registros de la estructura tendrían inicializado el
campo <strong>b</strong> a <strong>1</strong>, <strong>c[0]</strong> a <strong>2</strong> y
<strong>c[1]</strong> a <strong>3</strong>.</p>
<hr />
<p><strong>Nota:</strong> Ver la <a href="1407.html">alineación de datos en memoria</a>,
donde se muestra la ocupación de memoria de los diferentes tipos de datos.</p>
<hr />
Ver: <a href="1000.html">Sintaxis</a> - <a href="1009.html">Declaración de un dato</a>
</body>
</html>