Buenassss.
Estoy medio estancado con los punteros en C.
Estaba leyendo un Curso de punteros en C y aparecio el sig ejemplo como demostracion de como funciona un puntero:
#include <stdio.h>
int main()
{
int numero;
int *punt;
numero = 43;
punt = №
printf( "Dirección de numero = %p, valor de numero = %i\n", &numero, numero );
}
Ahora, aca se declaran dos variables de tipo int: numero y *punt y luego se les asigna un valor, a numero=43 y punt=№ <--- ESTO ES LO QUE NO ENTIENDO.
osea punt seria igual a numero (por el №) que a su vez es igual a 43? o punt es igual a la direccion de numero, cuyo valor es 43(el val de numero)? o como es?
Gracias de antemano.
Salu2
Me parece extraño, creo que lo que esta haciendo es declarar la dirección del puntero punt a el de la variable numero.
Cita de: LeoJ24 en 15 Enero 2013, 05:18 AM
Buenassss.
Estoy medio estancado con los punteros en C.
Estaba leyendo un Curso de punteros en C y aparecio el sig ejemplo como demostracion de como funciona un puntero:
#include <stdio.h>
int main()
{
int numero;
int *punt;
numero = 43;
punt = №
printf( "Dirección de numero = %p, valor de numero = %i\n", &numero, numero );
}
Ahora, aca se declaran dos variables de tipo int: numero y *punt y luego se les asigna un valor, a numero=43 y punt=№ <--- ESTO ES LO QUE NO ENTIENDO.
osea punt seria igual a numero (por el №) que a su vez es igual a 43? o punt es igual a la direccion de numero, cuyo valor es 43(el val de numero)? o como es?
Gracias de antemano.
Salu2
se declaran uno de tipo int y un puntero, son cosas distintas.
"*punt" seria el valor de la variable numero.
Cita de: Puntoinfinito en 19 Enero 2013, 12:04 PM
Me parece extraño, creo que lo que esta haciendo es declarar la dirección del puntero punt a el de la variable numero.
que carajos estas hablando?
He dicho lo mismo que has dicho tú.
Cita de: Puntoinfinito en 20 Enero 2013, 13:39 PMHe dicho lo mismo que has dicho tú.
Honestamente y
en buen plan, no.
Lo seria si tu comentario hubiera sido mas o menos así:
Supongo la intención es almacenar en el puntero (la variable "punt") la dirección en memoria del objeto (la variable "numero") para así practicar el uso de los operadores "&" y "*" ...Hay que tener cuidado con el lenguaje, si se utiliza "
declarar" uno piensa en una
declaración pero en el caso del programa original:
int numero;
int *punt; /* Declaracion */
numero = 43;
punt = № /* Expresion */
El almacenamiento de la dirección en la variable "punt" no ocurre en su declaración, ocurre en una
expresión donde se utiliza el operador de
asignación "=".
Un saludo
rir3760, dicha declaración es además una definición; y la expresión, una sentencia. ¿Verdad?
eso de № me parece que esta mal redactado pero es para indicar la variable.
Ya no hace falta decir más sobre a ese apuntador, apunta a una variable int, y se puede modificar mientras apunta a una memoria reservada, funciona muy bien para arreglos, así en lo básico puede que se vea confuso y hasta inutil, pero para estructuras, parametros, funciones, arreglos...en fin, sus usos son multiples