Tutorial de Apuntadores y Arreglos en C - Cimat
Tutorial de Apuntadores y Arreglos en C - Cimat
Tutorial de Apuntadores y Arreglos en C - Cimat
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
CAPITULO 5: APUNTADORES Y ESTRUCTURAS<br />
Como sabrás, es posible <strong>de</strong>clarar la forma <strong>de</strong> un bloque <strong>de</strong> datos cont<strong>en</strong>i<strong>en</strong>do distintos tipos <strong>de</strong> datos<br />
por medio <strong>de</strong> la <strong>de</strong>claración <strong>de</strong> una estructura. Por ejemplo, un archivo <strong>de</strong> personal cont<strong>en</strong>dría estructuras que<br />
serían algo como:<br />
struct ficha{<br />
char nombre[20]; /* nombre */<br />
char apellido[20]; /* apellido */<br />
int edad; /* edad */<br />
float salario; /* por ejemplo 12.75 por hora */<br />
};<br />
Supongamos que t<strong>en</strong>emos muchas <strong>de</strong> estas estructuras <strong>en</strong> un archivo <strong>de</strong> disco y queremos leer cada una e<br />
imprimir el nombre y apellido <strong>de</strong> cada una, <strong>de</strong> modo que t<strong>en</strong>gamos una lista con el nombre y apellido <strong>de</strong> cada<br />
persona que se <strong>en</strong>cu<strong>en</strong>tra <strong>en</strong> el archivo. La información restante no se imprimirá. Queremos hacer esto por<br />
medio <strong>de</strong> una función a la que pasemos como parámetro un apuntador a la estructura. Para propósitos<br />
didácticos sólo usaré una estructura por ahora. Pero conc<strong>en</strong>trémonos <strong>en</strong> que el objetivo es implem<strong>en</strong>tar la<br />
función, no leer <strong>de</strong>s<strong>de</strong> un archivo <strong>de</strong> disco, lo que presumiblem<strong>en</strong>te, sabemos cómo hacer.<br />
Recor<strong>de</strong>mos que po<strong>de</strong>mos acce<strong>de</strong>r a los miembros <strong>de</strong> una estructura por medio <strong>de</strong>l operador ‘.’ (punto).<br />
PROGRAMA 5.1<br />
/* Program 5.1 from PTRTUT10.HTM 6/13/97 */<br />
#inclu<strong>de</strong> <br />
#inclu<strong>de</strong> <br />
struct ficha{<br />
char nombre[20]; /* nombre */<br />
char apellido[20]; /* apellido */<br />
int edad; /* edad */<br />
float salario; /* salario */<br />
};<br />
struct ficha mi_ficha; /* <strong>de</strong>claramos mi_ficha como una<br />
int main(void)<br />
{<br />
}<br />
strcpy(mi_ficha.nombre,"J<strong>en</strong>s<strong>en</strong>");<br />
strcpy(mi_ficha.apellido,"Ted");<br />
printf("\n%s ",mi_ficha.nombre);<br />
printf("%s\n",mi_ficha.apellido);<br />
return 0;<br />
estructura <strong>de</strong>l tipo ficha */<br />
19