Variable del obligatorio1

Variable del obligatorio1

de Joan Francisco Rodrigues De Sa Martinez -
Número de respuestas: 6

Buenas!!

Tengo una duda respecto al tipo de variable que tenemos que crear. En la sección de requerimientos se aclara  "Tipo Clave_t, en base a una estructura de nombre clave, que contenga: largo y valor".

¿Esto quiere decir que una misma variable, en este caso "clave" tiene dos valores?

Por otro lado respecto a las funciones a crear, la variable buffer. Es un entero sin signo, no me queda claro si este valor de buffer lo pasan como decimal o como binario. A modo de ejemplo,  si buffer es 15.  ¿lo pasan como 15 o como 1111?

Muchas gracias!!

En respuesta a Joan Francisco Rodrigues De Sa Martinez

Re: Variable del obligatorio1

de Rosbel Alejandro Paz Xavier -

Holaaa.

Sí, tienen digamos "categorías" que especifiques. (En Pascal creo que se llamaban registros). En el capítulo 6 del libro lo explica, son variables de tipo estructura, es muy parecido a Pascal. 

En buffer va de forma decimal o referencia a binario (como 0x015). C hasta donde vi los tomó como iguales.

Seguro luego el profe lo aclara mejor.

 Saludos cordiales.

En respuesta a Rosbel Alejandro Paz Xavier

Re: Variable del obligatorio1

de Joan Francisco Rodrigues De Sa Martinez -
En respuesta a Joan Francisco Rodrigues De Sa Martinez

Re: Variable del obligatorio1

de Carolina Lorena Garrido Di Lorenzi -
Hola!

La variable es una estructura.
Buffer según entendí se pasa como decimal, pero se tiene que representar también como hexadecimal, por ejemplo cuando se imprime para probar como funcionan las funciones.
Es algo que espero que aclare el profesor de taller mañana.
En respuesta a Carolina Lorena Garrido Di Lorenzi

Re: Variable del obligatorio1

de Guillermo Cossio -
Hola Carolina,

No es necesario representar internamente como hexadecimal ninguna de las variables. La máquina internamente solo entiende binario, por lo que guardar datos como hexa sería muy engorroso y no aporta mucho.

Dicho eso, C permite imprimir variables como hexadecimal en lugar de decimal con %x. Por ejemplo:

int a = 15;
printf("Decimal: %d\n", a);
printf("Hexadecimal: %x\n", a);

En este caso, el programa imprimirá

Decimal: 15
Hexadecimal: 0xF

La ventaja del hexadecimal es que es muy simple convertirlo a binario, ya que cada dígito en hexa representa 4 bits, pero no es necesario que lo hagan en el obligatorio.

Saludos,
Guillermo

En respuesta a Joan Francisco Rodrigues De Sa Martinez

Re: Variable del obligatorio1

de Guillermo Cossio -
Hola Joan Francisco,

Como bien dijeron tus compañeros, las variables de tipo Clave_t son estructuras, por lo que van a contener un campo de tipo int para el largo y otro de tipo unsigned int para el valor.

Otra aclaración es que el tipo Clave_t está definido en base a una estructura de nombre clave , pero las variables de ese tipo pueden tener cualquier nombre (incluyendo "clave"). Por ejemplo podrías declarar una variable como:

Clave_t password;

y luego acceder a los campos de la variable con password.largo y password.valor

Sobre como pasarle buffer a las funciones, siempre pásenlo como decimal.

Saludos,
Guillermo