elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Funciones int
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Funciones int  (Leído 5,208 veces)
FKT

Desconectado Desconectado

Mensajes: 221



Ver Perfil
Funciones int
« en: 18 Agosto 2015, 17:00 pm »

Hola, el caso es que en un libro de hacking en la sección de programación con C# explica las funciones pero no lo entiendo nada ya que este libro toma por referencia lectores que tengan conocimientos básicos con la programación en C#.

Las funciones que se ponen después de

Código:

 int (Aquí) (){

}


Un ejemplo que he visto es el de :

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

int factorial(int){


return 0;
}


No entiendo lo de factorial ni el int de el parentesis y la verdad es que lo veo mucho en los codigos de C#.


En línea

Solo hay 10 tipos de personas, las que saben binario y las que no.
DarK_FirefoX


Desconectado Desconectado

Mensajes: 1.263


Be the change you wanna see in te world


Ver Perfil
Re: Funciones int
« Respuesta #1 en: 18 Agosto 2015, 18:02 pm »

- Lo que estás poniendo no es código en C#, es código C.

Ahora:

Código
  1. int factorial(int){
  2.  
  3.  
  4. return 0;
  5. }

Eso es la definición de una función con su cuerpo y retornando un valor, la cual está incorrecta también (a mis conocimientos de C), pues el parámetro de entrada de la función (que está entre paréntesis) debe tener un nombre. Sería algo como:

Código
  1. int factorial(int numero){
  2.  
  3.  
  4. return 0;
  5. }

Si esta función esta debajo del main() debe estar declarada encima del main() de esta forma:

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int factorial(int numero);
  5.  
  6. int main()
  7. {
  8. /*...*/
  9. }
  10.  
  11. int factorial(int numero)
  12. {
  13. /*Cuerpo del método (calculas el factorial) */
  14. }

Espero te quede claro

Salu2s


En línea

FKT

Desconectado Desconectado

Mensajes: 221



Ver Perfil
Re: Funciones int
« Respuesta #2 en: 18 Agosto 2015, 23:23 pm »

Perdona mi ignorancia pensaba que C# era lo mismo que C aunque, corrigeme si me equivoco, C# es para desarrolo web.

Lo siento DarK_FirefoX pero no entiendo lo que me has explicado.
Voy ha volver a formular mi pregunta porque no la he redactado bien.

Que son las funciones y como se utilizan?

Yo siempre he utilizado lo siguiente:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(){
  5.  
  6. return 0;
  7. }
  8.  
  9.  

 Siempre uso la funcion main(), que diferencia por ejemplo "main" de la "factorial"

Espero que me puedas ayudar.
En línea

Solo hay 10 tipos de personas, las que saben binario y las que no.
engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Funciones int
« Respuesta #3 en: 18 Agosto 2015, 23:25 pm »

Citar
Perdona mi ignorancia pensaba que C# era lo mismo que C aunque, corrigeme si me equivoco, C# es para desarrolo web.


mejor estudia programación en C, en lugar de andar dando tumbos de ciego por ahí -.- c# puede usarse en desarrollo web, pero perfectamente puede ser usado en desarrollo de aplicaciones
En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
DarK_FirefoX


Desconectado Desconectado

Mensajes: 1.263


Be the change you wanna see in te world


Ver Perfil
Re: Funciones int
« Respuesta #4 en: 19 Agosto 2015, 02:50 am »

Perdona mi ignorancia pensaba que C# era lo mismo que C aunque, corrigeme si me equivoco, C# es para desarrolo web.

No necesariamente, C# es un lenguaje de programación orientado a objetos, simple, moderno y de proposito general. Es uno de los lenguajes de programación diseñados para la infraestructura de lenguaje común (CLI)

Si bien su sintaxis básica deriva de C y de C++, el mismo utiliza el modelo de objetos de la plataforma .NET, aunque incluye mejoras derivadas de otros lenguajes.

Por lo tanto no tiene nada que ver uno con otro.

También se puede utilizar para el desarrollo web utilizando el framework para aplicaciones web: ASP.NET

Lo siento DarK_FirefoX pero no entiendo lo que me has explicado.
Voy ha volver a formular mi pregunta porque no la he redactado bien.

Que son las funciones y como se utilizan?

Yo siempre he utilizado lo siguiente:
Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main(){
  5.  
  6. return 0;
  7. }
  8.  
  9.  

 Siempre uso la funcion main(), que diferencia por ejemplo "main" de la "factorial"

Espero que me puedas ayudar.

Las funciones son una manera de encapsular lineas de código que cumplen un propósito particular, que se pueden utilizar luego sin preocuparte por su implementación. Si se tienen funciones correctamente diseñadas es posible ignorar COMO se hace el trabajo, siendo suficiente QUE es lo que se hace.

La definición de una función tiene esta forma:

Código:
tipo-de-retorno nombre-funcion(declaracion-parametros, si tiene)
{
    declaraciones
    sentencias
}

Las mismas pueden aparecer en cualquier orden y en un fichero referenciado o varios, aunque no puede estar una función dividida entre archivos.

La función main() es el punto de entrada del programa, por ahi es donde se empieza a ejecutar la aplicación, te puedes haber dado cuenta que la función main() tiene un sentencia return al final. Como main() es una función igual que cualquier otra puede devolver un valor al que lo llama, el cuál a los efectos es entorno en el cual el programa es ejecutado. Típicamente, el valor de retorno es 0, el cual implica que se ejecuto y termino normalmente, valores diferentes a 0 indican inusuales y/o erróneas condiciones de finalización.

Ejemplo de una función:

Código
  1. int factorial(int n);

Esta declaración debe ir antes del main(). La misma dice que factorial es una función que iun parámetro de tipo int llamado n, y retorna un valor int. Esta declaración, la cual es llamada prototipo de función o signatura de la función, tiene que corresponderse con la definición y el uso de la función factorial.

Corrigiendo lo que te decía antes, en la declaración de una función no es necesario especificar el nombre del parámetro, por lo tanto, esto estaría bien:

Código
  1. int factorial(int);

Luego está la definición:

Código
  1. int factorial(int n)
  2. {
  3. /* sentencias a ejectuar */
  4. }

Espero esto te haya aclarado las dudas

Cualquier otra duda, pregunta

Salu2s
En línea

FKT

Desconectado Desconectado

Mensajes: 221



Ver Perfil
Re: Funciones int
« Respuesta #5 en: 19 Agosto 2015, 11:01 am »

Entiendo, digamos que un programa muy denso o largo se puede dividir en "miniprogramas" o "minisecciones"??  :-\
En línea

Solo hay 10 tipos de personas, las que saben binario y las que no.
gAb1


Desconectado Desconectado

Mensajes: 731


Ver Perfil
Re: Funciones int
« Respuesta #6 en: 19 Agosto 2015, 17:05 pm »

Entiendo, digamos que un programa muy denso o largo se puede dividir en "miniprogramas" o "minisecciones"??  :-\

Si, más o menos, la finalidad de esto es poder usar varias veces el mismo código sin tener que repetirlo, simplemente se crea una función para poder llamarla donde se necesite.

En OOP existen las clases, que son como plantillas para crear objetos, por ejemplo, la plantilla clientes, declaras los datos personales, etc como variables para que luego puedan ser utilizados para almacenar la información. Dentro de la clase puedes crear funciones específicas para clientes, como nuevo cliente, modificar cliente, etc que son las que utilizan las variables anteriormente declaradas.
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Funciones int
« Respuesta #7 en: 19 Agosto 2015, 17:14 pm »

Sin ir más lejos, las funciones printf y scanf, como todas las demás de la librería estandar, son eso, funciones. No quieras hacer lo que ellas hacen a mano xd
En línea

FKT

Desconectado Desconectado

Mensajes: 221



Ver Perfil
Re: Funciones int
« Respuesta #8 en: 20 Agosto 2015, 14:11 pm »

No quiero alargar mucho el tema porque seguramente es una cosa muy sencilla pero sigo sin entenderlo :-\

Creo que lo entenderia mejor si alguien me explicara que es el int de int main, el main y también el "()". Y como funcionan.
« Última modificación: 20 Agosto 2015, 14:13 pm por FKT » En línea

Solo hay 10 tipos de personas, las que saben binario y las que no.
ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Funciones int
« Respuesta #9 en: 20 Agosto 2015, 14:59 pm »

En C, un main completo es:

Código
  1. int main(int args, char** argc){}

Suponte que el sistema operativo llama a esa función de tu programa. args es el número de argumentos que le pasa, y argc** son los argumentos.

Citar
program.exe -s -l
Código:
argc[0] = "program.exe"
argc[1] = "-s"
argc[2] = "-l"

El int, es porque, al acabar el programa, el sistema operativo recibe un código de error del programa, que es lo que retorna la función "main".

Si lo quieres comprobar sin debugguer, y estás en Windows, ve a la consola, y llama al programa. El retorno del programa se guarda en la variable %errorlevel%.

Citar
program.exe
echo %errorlevel%

Y verás el retorno de tu programa. Prueba.


Main es una función especial, por ser el ciclo principal del programa.

Y ya no te lío más xD

Lo que importa de momento es que utilices las funciones cuando las necesites.
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
PHP y funciones tcp/ip « 1 2 »
PHP
nacho2003 11 7,507 Último mensaje 21 Septiembre 2006, 00:07 am
por deya
Funciones en php
PHP
Lambda 2 2,547 Último mensaje 14 Octubre 2006, 17:00 pm
por Thaorius
funciones y FOR
PHP
pepelon 4 2,265 Último mensaje 9 Diciembre 2006, 02:49 am
por pepelon
[C] Problema con Struct en funciones que llaman a otras funciones
Programación C/C++
‭lipman 9 23,601 Último mensaje 19 Mayo 2011, 23:39 pm
por Littlehorse
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines