Los arreglos y los apuntadores en C se emplean prácticamente de forma indistinta, de tal manera que muchos consideran que un arreglo es un apuntador constante. Cuando se emplean arreglos en la programación (cadenas alfanuméricas, vectores y matrices), es necesario reservar memoria suficiente para todos los elementos mediante las declaraciones correspondientes, como se muestra para un vector unidimensional y tres matrices:
#include<conio.h>
#include<stdio.h>
#include<math.h>
float vector[100];
main()
{
double a[3][3]={1,2,1, 2,1,2, 1,2,1};
double b[3][3]={1,1,1, 1,1,1, 1,1,1};
double c[100][100];
PROCESO...
printf("\Hasta pronto..."); getch();
}
Como se observa, en algunos casos se exagera en las dimensiones (c[100][100]) y se reserva memoria de mas; el problema de desperdicio de memoria se duplica si se hace necesario enviarlos a proceso mediante funciones adicionales o secundarias, ya que de esa forma se requiere incluir declaraciones similares en cada función adicional que se use. La forma más práctica de manipular arreglos por teclado, con las dimensiones que el caso requiera, es haciendo referencia como apuntadores para emplear solo aquellos elementos de los arreglos a los que se les valla a asignar un valor, junto con la asignación dinámica de la memoria (empleando la función malloc y la función free() para liberar la memoria reservada).
