Foros del Web » Programación para mayores de 30 ;) » Programación General »

¿Por qué usar punteros en C?

Estas en el tema de ¿Por qué usar punteros en C? en el foro de Programación General en Foros del Web. buenas.. estoy dando un cursillo en C y me ha surgido una duda, conozco como trabajar con punteros y con vectores, mi duda: ¿Es mejor ...
  #1 (permalink)  
Antiguo 04/10/2004, 03:53
 
Fecha de Ingreso: mayo-2004
Mensajes: 398
Antigüedad: 20 años
Puntos: 4
¿Por qué usar punteros en C?

buenas..

estoy dando un cursillo en C y me ha surgido una duda, conozco como trabajar con punteros y con vectores, mi duda: ¿Es mejor usar punteros que trabajar directamente con vectores?

*** Es que tengo oido que al pasar un array o vector a una función se duplica este, y esto hace que se sobre cargue inúltimente el equipo y para esto está los puntes ***

A ver si alguien me aclara la cuestión

Un saludo
  #2 (permalink)  
Antiguo 04/10/2004, 06:56
 
Fecha de Ingreso: diciembre-2002
Mensajes: 23
Antigüedad: 21 años, 4 meses
Puntos: 0
Cita:
Iniciado por asitudela
buenas..

estoy dando un cursillo en C y me ha surgido una duda, conozco como trabajar con punteros y con vectores, mi duda: ¿Es mejor usar punteros que trabajar directamente con vectores?
Internamente C convierte la notacion de arreglo ( arreglo[n] ) en notacion de puntero ( *(arreglo + n) ).

Cual es mejor? Bueno, lo mas conveniente es que utilizes la notacion que le de mas claridad al codigo en el que estas trabajando.


Cita:
Iniciado por asitudela
*** Es que tengo oido que al pasar un array o vector a una función se duplica este, y esto hace que se sobre cargue inúltimente el equipo y para esto está los puntes ***

A ver si alguien me aclara la cuestión
No hay duplicacion. Cuando una funcion recibe un arreglo como argumento (por ejemplo 'char nombre[]') lo que en realidad recibe es un puntero, este puntero contiene la direccion del primer elemento.

En otras palabras todos los argumentos que recibe una funcion son pasados por valor.

Saludos
  #3 (permalink)  
Antiguo 04/10/2004, 09:04
 
Fecha de Ingreso: mayo-2004
Mensajes: 398
Antigüedad: 20 años
Puntos: 4
ok muchas gracias. ah quedado claro.

Un saludo
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 15:06.