Pasar matrices como argumento
Echadle un vistazo a este codigo y mirad lo ke me pasa:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX 6
#define MAXCLI 5
#define MAXDIRE 50
typedef struct
{
int codigoPedido;
int codigoComponente;
int unidades;
char codigoCliente[MAXCLI];
char direccion[MAXDIRE];
}TCliente;
void iniciar(TCliente []);
void main(void)
{
int opcion;
TCliente info[MAX];
iniciar(info);
...
}
void iniciar(TCliente iniciar[])
{
int i;
for (i=0; i<MAX; i++)
{
strcpy(iniciar[i].codigoCliente, "NULL");
strcpy(iniciar[i].direccion, "NULL");
iniciar[i].codigoComponente=0;
iniciar[i].codigoPedido=0;
iniciar[i].unidades=0;
}
}
El caso es que usando el debugger en la funcion iniciar me pone todo el rato en los campos de la variable iniciar de tipo TCliente "valor no definido" y ni me hace 0 los enteros ni me copia las cadenas "NULL". Me estoy volviendo loco con esto pues con otro programa similar los prototipos, llamadas y demás son iguales y si funciona.. AYUDA!
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define MAX 6
#define MAXCLI 5
#define MAXDIRE 50
typedef struct
{
int codigoPedido;
int codigoComponente;
int unidades;
char codigoCliente[MAXCLI];
char direccion[MAXDIRE];
}TCliente;
void iniciar(TCliente []);
void main(void)
{
int opcion;
TCliente info[MAX];
iniciar(info);
...
}
void iniciar(TCliente iniciar[])
{
int i;
for (i=0; i<MAX; i++)
{
strcpy(iniciar[i].codigoCliente, "NULL");
strcpy(iniciar[i].direccion, "NULL");
iniciar[i].codigoComponente=0;
iniciar[i].codigoPedido=0;
iniciar[i].unidades=0;
}
}
El caso es que usando el debugger en la funcion iniciar me pone todo el rato en los campos de la variable iniciar de tipo TCliente "valor no definido" y ni me hace 0 los enteros ni me copia las cadenas "NULL". Me estoy volviendo loco con esto pues con otro programa similar los prototipos, llamadas y demás son iguales y si funciona.. AYUDA!