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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Duda sobre el tipo de datos que pude almacenar una variable
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Duda sobre el tipo de datos que pude almacenar una variable  (Leído 3,152 veces)
Aikanáro Anário


Desconectado Desconectado

Mensajes: 694



Ver Perfil WWW
Duda sobre el tipo de datos que pude almacenar una variable
« en: 26 Mayo 2010, 22:17 pm »

Estoy aprendiendo a programar en C con los manuales que hay en la pagina elhacker.net.
Como ya saben %f se usa para especificar que la variable va a contener un valor decimal (por ahora este es el unico uso que conozco), entonces:

Código:
float x=0
scanf("%f", &x);

Suponiendo que por teclado se introduzca el numero 11, No deberia de dar un error?

Me explico, si float y %f son para decimales y 11 no es un decimal entonces esta mal o no?


Otra cosa. Si en un ejercicio me piden declarar una variable entera, corta y sin signo. Seria:
Código:
int short unsigned x=1;

En la respuesta a ese ejercicio esta:
Código:
unsigned short int buenas;

Se supone que si me piden un entero debe ser un numero entero, no varios caracteres como la palabra "buenas"

Y una ultima cosa. Si a una variable se declara como long o short, ej.: int long x=5; ó int short y=0, quiere decir que esa variable solo podra almacenar 16 o 32 caracteres o letras respectivamente?. Solo para estar claros.

Y gracias


En línea

Lo que faltaba en internet: http://binar10s.blogspot.com/
08l00D

Desconectado Desconectado

Mensajes: 168


Ver Perfil
Re: Duda sobre el tipo de datos que pude almacenar una variable
« Respuesta #1 en: 26 Mayo 2010, 22:54 pm »

Código:
float x=0
scanf("%f", &x);

Suponiendo que por teclado se introduzca el numero 11, No deberia de dar un error?

Me explico, si float y %f son para decimales y 11 no es un decimal entonces esta mal o no?
No da error porque la funcion realiza una conversion implicita (o automatica) ... al dato ingresado para que sea compatible con el tipo de la variable si ingresas 11 se transformara en 11.000000 para llenar el espacio reservado pora la variable x.

Citar
Otra cosa. Si en un ejercicio me piden declarar una variable entera, corta y sin signo. Seria:
Código:
int short unsigned x=1;

En la respuesta a ese ejercicio esta:
Código:
unsigned short int buenas;

Se supone que si me piden un entero debe ser un numero entero, no varios caracteres como la palabra "buenas"
Los dos codigos que pusiste declaran una variable entera, corta y sin signo la diferencia esta en que en:
Código:
int short unsigned x=1;
se inicializa la variable declarada, es decir, vendria a ser una definicion de variable.
Declarar una variable es definir un identificador(un nombre) para un determinado tipo de dato y reservando un espacio en memoria para ella, que podes inicializar(asignar un valor) junto con la declaracion o despues...
Citar
Y una ultima cosa. Si a una variable se declara como long o short, ej.: int long x=5; ó int short y=0, quiere decir que esa variable solo podra almacenar 16 o 32 caracteres o letras respectivamente?. Solo para estar claros.
La amplitud del tipo de datos depende de la implantacion ya que no se encuentra definido en el estandar...


En línea

Aikanáro Anário


Desconectado Desconectado

Mensajes: 694



Ver Perfil WWW
Re: Duda sobre el tipo de datos que pude almacenar una variable
« Respuesta #2 en: 27 Mayo 2010, 01:18 am »

La primera parte comprendi bien.

Citar
Los dos codigos que pusiste declaran una variable entera, corta y sin signo la diferencia esta en que en:
Código:
int short unsigned x=1;
se inicializa la variable declarada, es decir, vendria a ser una definicion de variable.
Declarar una variable es definir un identificador(un nombre) para un determinado tipo de dato y reservando un espacio en memoria para ella, que podes inicializar(asignar un valor) junto con la declaracion o despues...

A ver si he entendido...
O sea que cuando hago x=1 ya no puedo inicializarla con otro valor, ¿hay estaria declarando e inicializando al mismo tiempo?
Pero cuando declaro "buenas" lo que hago es reservar el espacio en la memoria con ese nombre y mas tarde si lo podra ocupar otro valor que se entre por teclado
En línea

Lo que faltaba en internet: http://binar10s.blogspot.com/
08l00D

Desconectado Desconectado

Mensajes: 168


Ver Perfil
Re: Duda sobre el tipo de datos que pude almacenar una variable
« Respuesta #3 en: 27 Mayo 2010, 01:32 am »

La primera parte comprendi bien.

Citar
Los dos codigos que pusiste declaran una variable entera, corta y sin signo la diferencia esta en que en:
Código:
int short unsigned x=1;
se inicializa la variable declarada, es decir, vendria a ser una definicion de variable.
Declarar una variable es definir un identificador(un nombre) para un determinado tipo de dato y reservando un espacio en memoria para ella, que podes inicializar(asignar un valor) junto con la declaracion o despues...

A ver si he entendido...
O sea que cuando hago x=1 ya no puedo inicializarla con otro valor, ¿hay estaria declarando e inicializando al mismo tiempo?
Pero cuando declaro "buenas" lo que hago es reservar el espacio en la memoria con ese nombre y mas tarde si lo podra ocupar otro valor que se entre por teclado
No, no...
inicializar la variable lo podes hacer en la declaracion o despues ... pero no significa que queda ese valor fijo ... por eso se le llama variable ... si queres asignarle otro valor con:
Código
  1. x=1;
  2.  
es totalmente valido...
tanto a la variable "buenas" como "x" podes cambiarle el valor despues de haberle asignado uno...
cuando el valor se mantine inmutable es cuando agregas el calificador "const".... pero no viene al caso....
En línea

Aikanáro Anário


Desconectado Desconectado

Mensajes: 694



Ver Perfil WWW
Re: Duda sobre el tipo de datos que pude almacenar una variable
« Respuesta #4 en: 27 Mayo 2010, 04:59 am »

OK

Pero si piden declarar una variable entera, ¿no seria un numero?, un numero entero?, en vez de letras. Si fuera para letras o caracteres usariamos "char"
En línea

Lo que faltaba en internet: http://binar10s.blogspot.com/
satu


Desconectado Desconectado

Mensajes: 301

Siempre aprendiendo


Ver Perfil WWW
Re: Duda sobre el tipo de datos que pude almacenar una variable
« Respuesta #5 en: 27 Mayo 2010, 15:55 pm »

Pero el nombre de la variable no importa, si te creas una variable de tipo int, tú la puedes llamar "x" o "buenas" o como tú quieras, lo importante es el contenido
En línea

Breakbeat como forma de vida
Aikanáro Anário


Desconectado Desconectado

Mensajes: 694



Ver Perfil WWW
Re: Duda sobre el tipo de datos que pude almacenar una variable
« Respuesta #6 en: 27 Mayo 2010, 18:26 pm »

Ok, totalemente claro ya.

Gracias
En línea

Lo que faltaba en internet: http://binar10s.blogspot.com/
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
hola a todos!! / Duda sobre variable tipo bool « 1 2 »
Programación C/C++
marcelitaaa 11 6,036 Último mensaje 5 Julio 2011, 17:41 pm
por marcelitaaa
almacenar salida de un programa en una variable Vbscript ??
Scripting
kapo.damy 6 6,229 Último mensaje 11 Octubre 2011, 07:58 am
por kapo.damy
Duda con Tipo de Datos de Punto Flotante
Programación C/C++
WiseHidden 3 3,424 Último mensaje 26 Enero 2012, 18:20 pm
por WiseHidden
Duda sobre crear servidores de juegos tipo WOW
Foro Libre
crazykenny 5 3,498 Último mensaje 29 Octubre 2012, 14:40 pm
por crazykenny
Comparar datos tabla SQLite con variable tipo String
Java
rubia28 0 2,842 Último mensaje 28 Noviembre 2021, 21:47 pm
por rubia28
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines