Autor Tema: Pasar Array como parámetro en funciones anidadas  (Leído 2268 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3216
Pasar Array como parámetro en funciones anidadas
« en: 19 de Octubre de 2019, 12:51:36 »
Necesito parar un Array a una función y dentro de esta pasárselo a otra, estoy haciendo lo siguiente:

Código: C
  1. void main(){
  2. unsigned char d[5];
  3.  
  4. funcion1(d);
  5. }

Código: C
  1. void funcion1(unsigned char * a){
  2.  funcion2(a);
  3. }

Código: C
  1. void funcion2(unsigned char * b){
  2.   for(int i=0;i<5;i++){
  3.       lcdprint(*(b+i));
  4.   }
  5. }

No sé si es lo correcto, pero me está dando problemas. Las funciones las tengo en un fichero, si las defino en el mismo fichero del main, funciona correctamente.

Gracias.
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Pasar Array como parámetro en funciones anidadas
« Respuesta #1 en: 19 de Octubre de 2019, 12:56:56 »
Citar
No sé si es lo correcto, pero me está dando problemas. Las funciones las tengo en un fichero, si las defino en el mismo fichero del main, funciona correctamente.

Estonces esta bien... El problema es como lo implementas con los demas archivos.

Ejemplo (sin usar .h para hacerlo mas simple)

main.c
Código: C
  1. char d[]="hola";
  2. extern void funcion1(unsigned char *);
  3.  
  4. void main(void) {
  5.  
  6.     funcion1(d);
  7.     while(1){
  8.     }
  9. }


archivo1.c
Código: C
  1. extern void funcion2(unsigned char *);
  2.  
  3. void funcion1(unsigned char * a){
  4.  funcion2(a);
  5. }

archivo2.c
Código: C
  1. void funcion2(unsigned char * b){
  2.     char a;
  3.     for(int i=0;i<5;i++){
  4.       a=(*(b+i));
  5.   }
  6. }

Y funciona correctamente... No use los .h para no poner 3 archivos mas... es lo unico.
« Última modificación: 19 de Octubre de 2019, 13:03:27 por KILLERJC »

Desconectado micro_pepe

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3216
Re:Pasar Array como parámetro en funciones anidadas
« Respuesta #2 en: 19 de Octubre de 2019, 20:46:43 »
OK, gracias, así se solucionó.

Saludos!!!
Se obtiene más en dos meses interesandose por los demás, que en dos años tratando de que los demás se interesen por ti.

新年快乐     的好奇心的猫死亡