elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Dimensión de Arreglos en C
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: Dimensión de Arreglos en C  (Leído 14,768 veces)
LearningSpanishProgrammer

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: Dimensión de Arreglos en C
« Respuesta #10 en: 25 Septiembre 2011, 20:31 pm »

El_Java, su codigo no és correcto para cualquier arreglo que fue recibido como argumento de una función.

El arreglo decae para un puntero para su primer elemento.


En línea

Estoy aprendiendo español, y tu estas aprendiendo programación
Principios en C

Desconectado Desconectado

Mensajes: 34


Ver Perfil
Re: Dimensión de Arreglos en C
« Respuesta #11 en: 25 Septiembre 2011, 20:42 pm »

Gracias por responder... pero la verdad sigo en las mismas... y ya me desepere... :-(


En línea

LearningSpanishProgrammer

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: Dimensión de Arreglos en C
« Respuesta #12 en: 25 Septiembre 2011, 20:50 pm »

no a problema, hace un bucle que debe crear un arreglo en cada iterácion con tamaño 'i'. Cuando el 'malloc' devuelven NULL, esto és su limite.

Buena Suerte.
En línea

Estoy aprendiendo español, y tu estas aprendiendo programación
Principios en C

Desconectado Desconectado

Mensajes: 34


Ver Perfil
Re: Dimensión de Arreglos en C
« Respuesta #13 en: 25 Septiembre 2011, 20:53 pm »

Me lo podrias explicar mejor... es que la verdad que no entiendo muy bien... pero con iteración??
En línea

LearningSpanishProgrammer

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: Dimensión de Arreglos en C
« Respuesta #14 en: 25 Septiembre 2011, 21:01 pm »

Entiendo que tu quieres saber cuál és el tamaño máximo de un arreglo:

Código:

while (1)
{
    char * arreglo = malloc(sizeof(char) * i);

   // Ahora adiciona código para comprobar si la allocacion es correcta
   // Y tambíen libera la memoria!!

    // Uno en este caso.
    i += sizeof(char);
}

Yo no puede testar eso ahora.
En línea

Estoy aprendiendo español, y tu estas aprendiendo programación
Principios en C

Desconectado Desconectado

Mensajes: 34


Ver Perfil
Re: Dimensión de Arreglos en C
« Respuesta #15 en: 25 Septiembre 2011, 21:10 pm »

agradezco tu ayuda.. en verdad... ahora tratare de entender que me dijiste  jijij... porque siento que esas son palabras mayores para el nivel  que tengo, pero gracias
En línea

leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Dimensión de Arreglos en C
« Respuesta #16 en: 25 Septiembre 2011, 21:39 pm »


Código:

while (1)
{
    char * arreglo = malloc(sizeof(char) * i);

   // Ahora adiciona código para comprobar si la allocacion es correcta
   // Y tambíen libera la memoria!!

    // Uno en este caso.
    i += sizeof(char);
}


El tamaño de un char siempre es 1. No hay necesidad del sizeof
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
LearningSpanishProgrammer

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: Dimensión de Arreglos en C
« Respuesta #17 en: 26 Septiembre 2011, 00:10 am »

No me gusta de números mágicos.
Muchas personas consideran usar "sizeof" una buena práctica.
Otros, creen que es confuso.
En línea

Estoy aprendiendo español, y tu estas aprendiendo programación
rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Dimensión de Arreglos en C
« Respuesta #18 en: 26 Septiembre 2011, 01:44 am »

No me gusta de números mágicos.
Muchas personas consideran usar "sizeof" una buena práctica.
Leo Gutiérrez se refiere al uso de sizeof en esta linea:
Código
  1. char * arreglo = malloc(sizeof(char) * i);
Todo compilador que cumpla con el estándar de C debe evaluar "sizeof(char)" resultando en 1 y la multiplicación por este no tiene sentido ya que no afecta el resultado. Por ello se puede abreviar a:
Código
  1. char * arreglo = malloc(i);

En cuanto al tamaño máximo que puede tener un array este depende del compilador utilizado. Ello porque el estándar del lenguaje permite indicar el numero de elementos en un array mediante una expresión constante de tipo entero (cualquier tipo, por ejemplo "int" o "unsigned long") mayor que cero.

Lo que debe hacer el OP (el usuario Principios en C) es revisar la documentación de su compilador.

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
LearningSpanishProgrammer

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: Dimensión de Arreglos en C
« Respuesta #19 en: 26 Septiembre 2011, 01:54 am »

rir3760, lo sé, pero, en mi opinión es mas claro y más uniforme usar sizeof().

Ejemplo:
Código:
void * v0 = malloc(n * sizeof(char))
void * v1 = calloc(n, sizeof(char))
void * v2 = malloc(n);
void * v3 = calloc(i, 1);

ya que sizeof(type) es una expresión completa en tiempo de compilación no afectas el tiempo de ejecucíon.

Muchas personas no gustam Java no tener "sizeof" por eso. C# tienes.

Código:
    Console.WriteLine("The size of short is {0}.", sizeof(short));

Aun teniendo en cuenta sus tipos tienen tamaño fijo (No estoy seguro si he escrito bien)
« Última modificación: 26 Septiembre 2011, 02:00 am por LearningSpanishProgrammer » En línea

Estoy aprendiendo español, y tu estas aprendiendo programación
Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Matriz de N dimension, como imprimir vertice inferior derecho ?
Java
rub'n 2 3,627 Último mensaje 30 Noviembre 2011, 05:26 am
por rub'n
Problema en Dell Dimension 4600
Hardware
GITANASSO 1 3,468 Último mensaje 16 Octubre 2012, 16:51 pm
por Aprendiz-Oscuro
Ani-Dimension hack wpe pro
Juegos y Consolas
maelstron2 3 7,804 Último mensaje 13 Diciembre 2012, 00:28 am
por giankrlos26
¿Nos movemos a traves de una dimension estatica?
Foro Libre
erest0r 6 3,160 Último mensaje 29 Agosto 2014, 19:24 pm
por erest0r
Resolvedor de SUDOKU de cualquier dimension
Java
velectronico 0 1,568 Último mensaje 25 Enero 2019, 12:40 pm
por velectronico
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines