elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
08 Octubre 2008, 12:53  



+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderador: ®®)
| | |-+  C Funcion que retorne Arrays?????
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Imprimir
Autor Tema: C Funcion que retorne Arrays?????  (Leído 557 veces)
cornell

Desconectado Desconectado

Mensajes: 17


¡Amo YaBB SE!


Ver Perfil
C Funcion que retorne Arrays?????
« en: 02 Septiembre 2005, 19:17 »

Hola a todos:

Estoy recien entrando en el mundo de C y quisiera saber como una funcion puede retornar un arreglo...

Código:

#include <stdio.h>

main(){
    int n[3];
    n=Ini();
    return 0;
}

int[] Ini(){
       int a[3]={0,1,2};
       return a;
}


e tratado de compilar este codigo con el Dev c++... y me arroja error...Lo que quisiera saber es si una funcion puede retornar un arreglo?????

Gracias de ante mano...

Saludos...
En línea

Utalca
Kpax

Desconectado Desconectado

Mensajes: 317



Ver Perfil
Re: C Funcion que retorne Arrays?????
« Respuesta #1 en: 02 Septiembre 2005, 20:29 »

Pues pasalo por parametro,de ese modo te complicas menos,no estoy seguro de que pueda funcionar pero si quieres pasar una arreglo a otro lo mejor seria usar un bucle.
En línea

En este mundo una de dos
orphen_nb

Desconectado Desconectado

Mensajes: 128


Ver Perfil
Re: C Funcion que retorne Arrays?????
« Respuesta #2 en: 02 Septiembre 2005, 22:45 »

en realidad un arreglo es un puntero, así que lo que tendrias que hacer sería retornar un puntero.
En línea

Human knowledge belongs to the world
HaCkZaTaN

Desconectado Desconectado

Mensajes: 110



Ver Perfil
Re: C Funcion que retorne Arrays?????
« Respuesta #3 en: 03 Septiembre 2005, 10:08 »

ese programa es mal ....no estas devolvio Puntero de ninguna clase....

Código:
int main()
{
    int n[3];
    *n=Ini();

    return 0;
}

int Ini()
{
       int a[3]={0,1,2};

       return *a;
}

asi quedaria mucho mejor..si lo queres mas optimizado usa "Casting"

Salu2!!
En línea

Cobac
CoAdmin
*****
Desconectado Desconectado

Mensajes: 5.440


Still In Development


Ver Perfil
Re: C Funcion que retorne Arrays?????
« Respuesta #4 en: 03 Septiembre 2005, 10:39 »

si pones que devuelves a lo que estas haciendo es devolver la dirección de memoria donde empieza el array

encuentro más facil pasarlo por parametros y si lo modificas en la funcion queda modificado en todo el programa (ya que pasas la dirección de memoria -es lo mismo que pasar las variables por referencia-)

salu2
En línea

PIV 2533 @ 2720Mhz | 512MB DRR333 @ 358 | 160 Gb + 40 Gb Seagate Barracuda

En la Edad Media la Iglesia robaba con los diezmos. En el siglo XXI la SGAE roba con sus cánones.
cornell

Desconectado Desconectado

Mensajes: 17


¡Amo YaBB SE!


Ver Perfil
Re: C Funcion que retorne Arrays?????
« Respuesta #5 en: 08 Septiembre 2005, 01:12 »

Lo que hice fue lo siguiente...

Código:

#include <stdio.h>

int a[3];

void Ini(){
       a[0]=0;
       a[1]=1;
       a[2]=2;
}

main(){
    Ini();
    return 0;
}


el vector lo declare como una variable local, ya que busque por internet algun codigo que tuviera una funcion que retornara un arreglo y no encontre ¿Sera que no se puede?... La verdad es que nose esta respuesta....Solo esta fue la unica solucion que encontre...

Saludos.
En línea

Utalca
Cobac
CoAdmin
*****
Desconectado Desconectado

Mensajes: 5.440


Still In Development


Ver Perfil
Re: C Funcion que retorne Arrays?????
« Respuesta #6 en: 08 Septiembre 2005, 01:20 »

ahora que pienso, quizas quieres hacer esto xD:

Código:
#include <stdio.h>
#include <string.h>

char *funcion(char *p)
{
    strcpy(p,"adios");
    return p;
}
main()
{
char *frase;

    strcpy(frase,"hola");
    printf("Antes --> %s\n",frase);
    printf("Despues --> %s\n",funcion(frase));
}

como ves funcion devuelve un puntero a una cadena de caracterés (y es lo que se muestra en el printf)

yo lo que me refería en el anterior mensaje, esque cuando llamas a una función y le pasas como parámetro un puntero modificas su contenido (es como pasar una variable por referencia)...

salu2 y ya nos contarás ;)
En línea

PIV 2533 @ 2720Mhz | 512MB DRR333 @ 358 | 160 Gb + 40 Gb Seagate Barracuda

En la Edad Media la Iglesia robaba con los diezmos. En el siglo XXI la SGAE roba con sus cánones.
Casidiablo
Colaborador

Desconectado Desconectado

Mensajes: 2.812


Más inteligente que el simio promedio


Ver Perfil WWW
Re: C Funcion que retorne Arrays?????
« Respuesta #7 en: 09 Septiembre 2005, 17:00 »

No se porque se complican tanto, con punteros se puede pero es un enrredo muy gonorrea, si avanzaran un poco al C++ se darian cuenta que con un objeto de una clase es muy facil, solo se retorna el objeto (POO).

Saludos .....
En línea

Masturba tu cerebro y eyacularán tus ideas...



Visita mi blog:

cornell

Desconectado Desconectado

Mensajes: 17


¡Amo YaBB SE!


Ver Perfil
Re: C Funcion que retorne Arrays?????
« Respuesta #8 en: 12 Septiembre 2005, 18:15 »

Este tema lo cree ya que yo empece a programar en java y como uds se dan cuenta en java un metodo(Funcion en c) si puede retornar un array...Se hay que surgio mi pregunta, si es que se puede hacer en java...Sobre lo de los punteros recien estoy aprendiendo que es un punturo, ya que, en java jamas los...De hecho no se si existen en Java????

Solo eso saludos...
En línea

Utalca
Casidiablo
Colaborador

Desconectado Desconectado

Mensajes: 2.812


Más inteligente que el simio promedio


Ver Perfil WWW
Re: C Funcion que retorne Arrays?????
« Respuesta #9 en: 12 Septiembre 2005, 21:23 »

Pues no, en Java no se manjan punteros.
Lo mismo que no se puede la herencia multiple ni otras cosas..

saludos...
En línea

Masturba tu cerebro y eyacularán tus ideas...



Visita mi blog:

Páginas: [1] Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC