Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • o_O

    (Puntos:1)
    No sé si algún compilador permitirá eso, pero desde luego GCC no, porque no es estándar. En C la memoria dinámica no es tan sencilla de gestionar. Lo correcto sería algo así:

    nt main()
    {
    int n;
    int *a;
     
                printf("Nro. de elementos: ");
                scanf("%d", &n);
                a = malloc (sizeof(int)*n);
                memset(a, 0, sizeof(int)*n);
                // También podrías hacer esto
                // a = calloc (n, sizeof(int));
                return 0;
    }
    --

    Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn!

  • Re:o_O

    (Puntos:1)
    Se me olvidaba. Puede que el compilador te diga que el código de arriba es incorrecto porque hace una asignación de punteros de no-se-qué. En ese caso, necesitarás hacer un cast:

                a = (int *) malloc (sizeof(int)*n);
    --

    Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn!

    [ Padre ]
    • Re:o_O de muzaraque (Puntos:2) Martes, 14 Diciembre de 2004, 17:01h
  • Re:o_O

    (Puntos:1)
    por Gringo Desconocido (3402) el Martes, 14 Diciembre de 2004, 06:08h (#404746)
    ( http://barrapunto.com/ | Última bitácora: Sábado, 28 Enero de 2006, 22:32h )
    Los comentarios con // se admiten en C99 pero no en versiones anteriores de C, aunque muchos compiladores los aceptan. Por las versiones anteriores, hay que usar los comentarios con /* */:

    /* También podrías hacer esto */
    /* a = calloc (n, sizeof(int)); */
    --

    --
    Mi idioma materno es el inglés. Perdonadme mi español por favor.
    Delendae sunt RIAA, MPAA et Windoze
    [ Padre ]
    • Re:o_O de pezezin (Puntos:1) Martes, 14 Diciembre de 2004, 10:12h