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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

int main(void)<br />

{<br />

int r<strong>en</strong>glon, columna;<br />

}<br />

for (r<strong>en</strong>glon = 0; r<strong>en</strong>glon < RENGLONES; r<strong>en</strong>glon++)<br />

{<br />

for (columna = 0; columna < COLUMNAS; columna++)<br />

{<br />

multi[r<strong>en</strong>glon][columna] = r<strong>en</strong>glon*columna;<br />

}<br />

}<br />

for (r<strong>en</strong>glon = 0; r<strong>en</strong>glon < RENGLONES; r<strong>en</strong>glon++)<br />

{<br />

for (columna = 0; columna < COLUMNAS; columna++)<br />

{<br />

printf("\n%d ",multi[r<strong>en</strong>glon][columna]);<br />

printf("%d ",*(*(multi + r<strong>en</strong>glon) + columna));<br />

}<br />

}<br />

return 0;<br />

Debido a la doble <strong>de</strong>srefer<strong>en</strong>cia requerida <strong>en</strong> la versión <strong>de</strong> apuntador, se dice que el nombre <strong>de</strong> una matriz<br />

bidim<strong>en</strong>sional es equival<strong>en</strong>te a un apuntador a apuntador. Con arreglos <strong>de</strong> 3 dim<strong>en</strong>siones estaríamos hablando<br />

<strong>de</strong> arreglos <strong>de</strong> arreglos <strong>de</strong> arreglos y <strong>en</strong>tonces el nombre <strong>de</strong> tal seria el equival<strong>en</strong>te <strong>de</strong> un apuntador a<br />

apuntador a apuntador.<br />

Sin embargo, aquí hemos reservado inicialm<strong>en</strong>te el bloque <strong>de</strong> memoria para el arreglo usando notación <strong>de</strong><br />

arreglos. Por lo que estamos manejando una constante, no una variable, esto significa que estamos hablando<br />

<strong>de</strong> una dirección fija.<br />

La <strong>de</strong>srefer<strong>en</strong>ciación usada arriba nos permite acce<strong>de</strong>r a cualquier elem<strong>en</strong>to <strong>en</strong> el arreglo <strong>de</strong> arreglos sin<br />

necesidad <strong>de</strong> cambiar el valor <strong>de</strong> la dirección (la dirección <strong>de</strong> multi[0][0] es proporcionada por el símbolo<br />

multi).<br />

26

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

Saved successfully!

Ooh no, something went wrong!