17.05.2013 Views

Tutorial de Apuntadores y Arreglos en C - Cimat

Tutorial de Apuntadores y Arreglos en C - Cimat

Tutorial de Apuntadores y Arreglos en C - Cimat

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!