Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - LearningSpanishProgrammer

#31
Programación C/C++ / Re: Duda??
30 Septiembre 2011, 22:28 PM
Su duda es muy normal.
Estás pidiendo el tamaño del puntero, no del arreglo.

No hay una manera genérica de saber el tamaño del espacio de memoria que un puntero apunta.
Tienes que almacenar el numero usado en el 'malloc'.


int * i = malloc(sizeof(int)) // numero
int * j = malloc(sizeof(int) * 5) // arreglo

sizeof(i) == sizeof(j) == sizeof(int *)
#32
C++ no suporta Variable Length Array (VLA)
#33
Programación C/C++ / Re: Dimensión de Arreglos en C
27 Septiembre 2011, 03:25 AM
*ignore I made a mistake*
#34
Programación C/C++ / Re: Dimensión de Arreglos en C
26 Septiembre 2011, 01:54 AM
rir3760, lo sé, pero, en mi opinión es mas claro y más uniforme usar sizeof().

Ejemplo:

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.


    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)
#35
Gracias, rir3760

=)
#36
Programación C/C++ / Re: Dimensión de Arreglos en C
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.
#37
Programación C/C++ / Re: Dimensión de Arreglos en C
25 Septiembre 2011, 21:01 PM
Entiendo que tu quieres saber cuál és el tamaño máximo de un arreglo:



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.
#38
Programación C/C++ / Re: Matriz
25 Septiembre 2011, 20:54 PM
Por favor, guión correctamente. (indent correctly the code)
No se puede entender esto.

Ejemplo:

for (i=1; i <= 2; i++)
{
   for(j=1; j <= 3; j++)
  {
       printf("Elemento (%d,%d): ", i, j);
       scanf("%d", &mat[i][j]);
   }
}  


Cuando se esta empezando, es bueno hacer esto..
#39
Programación C/C++ / Re: Dimensión de Arreglos en C
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.
#40
El_Java, no entiendo por qué tu usa números mágicos en su codigo


int esnum(char numero)
{
  if (numero >= '0' && numero <= '9' )
     return 1;
  else
     return -1;
}


tambien no entiendo por qué el OP no usa cero en lugar de menos uno.


int esnum(char numero)
{
   if (numero >= '0' && numero <= '9' )
      return 1;
   else
      return 0;
}


Así, puede usar en el 'if' directamente.