Foros del Web » Programación para mayores de 30 ;) » C/C++ »

dudas de c,void main, punteros, que seria?

Estas en el tema de dudas de c,void main, punteros, que seria? en el foro de C/C++ en Foros del Web. hola buenas, que tal . de apoco. trato de aprender c- bueno y para eso posteo las dudas... ------------------------------------------------ 1) que es cuando se refiere ...
  #1 (permalink)  
Antiguo 17/04/2012, 08:05
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 14 años, 5 meses
Puntos: 5
dudas de c,void main, punteros, que seria?

hola buenas, que tal . de apoco. trato de aprender c- bueno y para eso posteo las dudas...

------------------------------------------------
1)

que es cuando se refiere a void?

una funcion que no devuelve nada?? como seria.. la funcion printf. que recibe "parametros" el texto . o en el caso el "%d" "%f" o "c" y supuestamente no me devuelve nada ya que imprime en pantalla. eso seria VOID??

por ejemplo en php. cualquier funcion. luego de haber sido utilizada. devuelve un valor. 0 o 1...

-------------------------------------------
2)
en lenguaje C. hay muchas cosas que se le colocan al MAIN... que seria el inicio de todo... no? una funcion ?--... void main , aveces vi que le colocan. o INT MAIN... la verdad no entiendo para que....

-----------------------
3)
bueno y ya que estamos ,punteros, lei algo...

un puntero (*a) en este caso -asterisco a- tiene una direccion de variable.. de otra variable. es como que *a contiene &variablea que el ampersand almacena una direccion, el PUNTERO TAMBIEN TIENE UNA DIRECCION que seria &a...

las direcciones de memoria no se pueden asignar ... (colocar un numero) ya que depende de la maquina etc..

bueno a lo que escribi, si es necesario alguna correcion , no estaria mal ,
la otra pregunta es...

¿Que es lo que se hace con los punteros?para que me sirven. ?que utilidadad? uso menos variables?

----------------------------------------

4) otra cosa. cuando un lenguaje es orientado a objetos, quiere decir.. que que existen clases . que permiten "copiar" o "instanciarse" en objetos, que tienen como funciones , propiedades... en PHP existen...

aca en C porlo que veo no. pero existe , C++ que admite clases no=? clases si , pero objetos no? o me equivoco. no se puede instanciar a objetos... en php use clases para el uso de correo por medio de GMAIL... o para paginar resultados...



5) otra duda, en C. para manejar funciones de cadenas... se agrega la biblioteca string no ??? yo pense q string era un tipo de variable con int , float..

la biblioteca string.h, tiene funciones,,, hay una que se llama copen, no se....escuche mal...

bueno saquenme las dudas , gracias."!

Última edición por vani18; 17/04/2012 a las 08:19
  #2 (permalink)  
Antiguo 17/04/2012, 08:25
 
Fecha de Ingreso: abril-2010
Ubicación: Rosario
Mensajes: 1.850
Antigüedad: 14 años, 7 meses
Puntos: 228
Respuesta: dudas de c,void main, punteros, que seria?

1) Void se usa para cuando se quiere que una funcion no devuelva nada. printf no es una funcion void mira su declaracion: http://www.cplusplus.com/reference/c...cstdio/printf/
Tiene un valor de retorno, pero por lo general nunca se captura en una variable.

EL uso o no del void depende de cada programador... muchos prefieren en vez de no devolver nada, devolver un entero para informar si huvo error o no.
Por lo general cuando se usan punteros, no es necesario que las funciones devuelvan valores.

2) Lo correcto es usar int main(). Y al final de todo usar la sentencia return. Por lo general se devuelve 0 o otro numero si huvo errores.

3) Los punteros se usan para hacer referencia a otras variables...son somamentes necesarios para utilizar memoria dinamica por ejemplo. O tambien para manejar vectores. Tambien sirven para modificar variables desde otras funciones.
Por ejemeplo

Código C++:
Ver original
  1. void mal_swap(int a , int b)
  2. { int t;
  3.    t =a ;
  4.    a = b;
  5.    b = t;
  6. }
  7.  
  8. void bien_swap(int * a , int * b)
  9. { int t;
  10.    t =*a ;
  11.    *a = *b;
  12.    *b = t;
  13. }

Mira esasa dos funciones. La primera esta incorrecta...porque cambia el valor local de las variables. asi que cuando retorne la funcion las variables a, b van a seguir estando com oestaban.
En cambio la otroa al usar puntero modifica las variables originales. Obviamente hay que invocar las funciones de forma diferente.

mal_swap(a,b);
bien_swap(&a,&b);

4) En C no hay clases. En c++ hay clases, e intancias de clases. No se cual seria la diferencia entre clases y objetos...


Espero ser claro,
Saludos

Etiquetas: dudas, funcion, int, main, punteros, variables
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:17.