Hola gente estoy aprendiendo C y cuando llegue al tema de parametros en funciones se me armo un lio en mi cabeza.
Mi duda es la siguiente y es respecto a parametros por referencia vs punteros y de aqui me salen 2 preguntas.
1)Segun los conceptos que aprendi de Pascal de parametros por valor y por referencia. En el primer caso se manda una copia del contenido de la variable original a la subrutina(Por valor), y en el segundo caso se manda la direccion de la variable , es decir que el contenido es referenciado desde la variable original y el parametro del procedimiento.
Mi pregunta es si lo dicho anteriormente es correcto, porque la invocacion tiene la misma estructura cuando se manda un valor o una direccion?
Un ejemplo que ilustraria mi pregunta seria(en pascal):
invocacion: sumar(x,y); /* Como se si se esta mandando un valor o una direccion ???, que es lo que envia realmente? esta es la verdadera pregunta*/
Cabecera del procedimiento(por valor): procedure sumar(a,b:integer);
Cabecera del procedimiento(por referencia)procedure sumar(Var a,b:integer);
Como resalte recien que es lo que pasa exactamente en el momento de la invocacion y ahi es donde he buscado informacion pero no he encontrado, hay alguna pila y que guarda exactamente?
2)Cuales son las diferencias entre pasar por referencia y punteros , si en ambos casos se esta pasando la direccion de la variable original. Uno estaria tentado a pensar que en el fondo del asunto pasa lo mismo pero se que algo lo difiere ademas de la sintaxis.
Saludos =)