Ver Mensaje Individual
  #11 (permalink)  
Antiguo 04/04/2015, 09:49
RGT
Usuario no validado
 
Fecha de Ingreso: noviembre-2008
Mensajes: 505
Antigüedad: 15 años, 5 meses
Puntos: 5
Respuesta: El "sizeof" para saber el tamaño del arreglo no me funciona

Cita:
Iniciado por ecfisa Ver Mensaje
Hola RGT.

La explicación y ejemplos que te ha puesto dehm han sido mas que claros, solo agregar que un modo que la función reciba la información necesaria en un solo parámetro puede ser:
Código C++:
Ver original
  1. #include <stdio.h>
  2.  
  3. typedef struct {
  4.   int *sv;
  5.   int sz;
  6. } stArray;
  7.  
  8. void mostrar (stArray v) {
  9.   int i;
  10.   for ( i = 0; i < v.sz; i++ )
  11.     printf ( "%d ", v.sv[i] );
  12. }
  13.  
  14. int main() {
  15.   int vv[10] = {5, 8, 2, 3, 1, 4, 6, 9, 2, 10};
  16.   stArray stv;
  17.  
  18.   stv.sv = vv;
  19.   stv.sz = sizeof(vv) / sizeof(vv[0]);
  20.   mostrar(stv);
  21.   ...
pero en definitiva los datos enviados siguen siendo dos...


En este enlace vas a encontrar un buen tratamiento sobre el tema.

Saludos.
Hola,
no entiendo bien tus ejemplos :(
usas diferentes variables y cosas raras ej:
stv.sz
sv
sz
starray v
v.sz
v.sv

me estoy volviendo loco tratando de entender ahahahhaa