[C con Clase] tamaño de un array

pepe perez darkmalka en hotmail.com
Jue Abr 23 13:27:10 CEST 2015


todas las respuestas me han ayudadoen mayor o menor medida
usare lo de vector que se parece bastante a usar un array
un saludo y gracias a todos

Date: Tue, 21 Apr 2015 12:14:59 +0200
From: joseluistorrehernandez en gmail.com
To: cconclase en listas.conclase.net
Subject: Re: [C con Clase] tamaño de un array

Hola:

La pregunta que planteas es difícil ya que la respuesta depende de muchos factores, uno de los más importantes es el sistema operativo utilizado y la gestión que hace de la memoria. 


Para que te hagas una idea, una cosa es la memoria real del ordenador y otra es lo que se llama memoria virtual, que no es más que la forma en que el sistema operativo utiliza la memoria real del ordenador.

La memoria virtual es mucho mayor que la memoria real y depende del sistema de direccionamiento de memoria utilizado, es decir, el un número que es la mayor posición de memoria direccionable (aunque dicha dirección de memoria no exista)

Ten en cuenta que la memoria se comparte entre todos los procesos que se están ejecutando en el ordenador, y dos procesos pueden estar referenciando la misma posición de memoria en instantes de tiempo diferentes.

Recuerda que cuando la memoria real está ocupada (al llegar a un límite) el sistema operativo puede copiar parte de la memoria a disco, con el fin de poder asignar dicha memoria a otros procesos y poder seguir funcionando correctamente.

Creo que con las ideas anteriores te darás cuenta que no es fácil saber cual es el máximo tamaño de array a utilizar, pero, con unas pocas pruebas, puedes comprobarlo fácilmente en tu propio ordenador. Por ejemplo, prueba con un array de 1000, 100, 10, 1 Millones de elementos y enseguida verás que tamaño de array puedes utilizar sin problemas.

Espero haberte ayudado,

Saludos
José Luis

El 20 de abril de 2015, 22:02, pepe perez <darkmalka en hotmail.com> escribió:



buenas
tengo un problema/duda sobre el tamaño de un array. siempre he leido que en el tamaño de un array influye la cantidad de memoria ram que tenga el ordenador, pero no termino de entenderlo del todo
yo tengo 2 gigas d ram y el array mas grande q puedo hacer en un programa usando unsigned long int array[1000000].
si quiero usar 2 arrays en el mismo programa, tengo que repartir las casillas es decir 500000 para cada array por ejemplo. pero si ejecuto 2 programas con unsigned long int array[1000000] cada uno, funcionan perfectamente, por lo que el array de un programa no esta usando el maximo de mi memoria
asi a ojo, no se si influyen mas factores, el array son 64 megas de memoria
alguien me podria decir si hay manera de poder hacer un array mas grande en un solo programa? me gustaria poder usar toda la memoria posible
un saludo y gracias 		 	   		  

_______________________________________________

Lista de correo Cconclase Cconclase en listas.conclase.net

http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net

Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ


-- 
José Luis Torre
ww.ehu.es
 


_______________________________________________
Lista de correo Cconclase Cconclase en listas.conclase.net
http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ 		 	   		  
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20150423/43ec3fa7/attachment-0001.html>


Más información sobre la lista de distribución Cconclase