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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


  Mostrar Mensajes
Páginas: 1 2 [3] 4 5 6 7 8 9
21  Programación / Programación C/C++ / funcion que devuelve un puntero de una variable static en: 24 Enero 2017, 09:42 am
Buenas, me surgió la duda si es posible realizar una función que devuelva un puntero con la dirección de memoria de una variable static definida dentro de la función. por ejemplo pasarle la dirección de un arreglo definido como static dentro de una función.
la idea de esa función, es que quien la usa no se deba preocupar por el largo del arreglo debido a que este se crearía en la misma función (dentro de un if{..} por ejemplo).
22  Programación / Programación C/C++ / Unsigned char y operador complemento a1(~) en c en: 12 Enero 2017, 07:20 am
Buenas resulta que compile el siguiente codigo:
Código
  1. Printf("%d",~((unsigned char)~0));
  2.  

Al compilarlo da -256
Segun la logica que sigo yo y sabiendo que un char tiene 8 bits no entiendo como llega a ese resultado.

Primero al cero le realiza su complemento a1 por lo que queda todos unos,sabiendo que el char tiene ocho bits queda 11111111 que seria el numero 255. Y si luego a todos esos unos se le realiza su complemento a1 quedan todos ceros.
23  Programación / Programación C/C++ / ¿Error por falta de corchetes? en: 11 Enero 2017, 00:39 am
Buenas estoy intentando no usar corchetes en el código pero no funciona como quiero, creo que es porque no entiendo bien cuando están explictos (cuando no son necesarios)

Código
  1. while(expresion)
  2.    if(expresion)
  3.        if (expresion)
  4.            while(expresion)
  5.                ;  //solo hace lo de adentro del while
  6.        else
  7.            while(expresion)
  8.                ;  //solo hace lo de adentro del while
  9.    else{
  10.        if(expresion)
  11.            expresión; //solo una linea
  12.        else if(expresion)
  13.            expresion; //solo una linea
  14.        else if(expresion)
  15.            expresion; //solo una linea
  16.        else if(expresion)
  17.            expresion; //solo una linea
  18.        if (expresion) //nuevo if
  19.            expresion; //solo una
  20.    }
  21. if (expresion) //este if no estaria adentro del primer while
  22.    expresion; //solo una linea
  23. else
  24.    expresion; //solo una linea
  25.  

segun lo que yo entiendo por los paréntesis explícitos, todas las sangrías que he dejado son correctas, pero el código no hace lo que pido.
24  Programación / Programación C/C++ / Re: Problema con el operador de modulo(%) en C en: 9 Enero 2017, 22:00 pm
gracias!!!
25  Programación / Programación C/C++ / Re: Problema con el operador de modulo(%) en C en: 9 Enero 2017, 21:46 pm
3/8=0,375 por lo tanto 4%8 debe ser 3
4/8=0,5 por lo tanto 4%8 debe ser 5
26  Programación / Programación C/C++ / Problema con el operador de modulo(%) en C en: 9 Enero 2017, 21:19 pm
Buenas escribo el siguiente codigo en c:

Código
  1. #include <stdio.h>
  2. int main(void)
  3. {
  4. int c,i;
  5. for(i=0;i<=8;i++)
  6. printf("el modulo entre %d y 8 es: %d\n",i,i%8);
  7. return 0;
  8. }
  9.  

y lo que me sale es esto:

el modulo entre 0 y 8 es: 0
el modulo entre 1 y 8 es: 1
el modulo entre 2 y 8 es: 2
el modulo entre 3 y 8 es: 3
el modulo entre 4 y 8 es: 4
el modulo entre 5 y 8 es: 5
el modulo entre 6 y 8 es: 6
el modulo entre 7 y 8 es: 7
el modulo entre 8 y 8 es: 0

pero creo que tendría que ser esto:
el modulo entre 0 y 8 es: 0
el modulo entre 1 y 8 es: 1
el modulo entre 2 y 8 es: 2
el modulo entre 3 y 8 es: 3
el modulo entre 4 y 8 es: 5
el modulo entre 5 y 8 es: 6
el modulo entre 6 y 8 es: 7
el modulo entre 7 y 8 es: 8
el modulo entre 8 y 8 es: 0

que seria el primer numero después de la coma
27  Programación / Programación C/C++ / Funcionamiento fgets en: 5 Enero 2017, 01:56 am
Buenas estaba viendo una posible implementacion de la función fgets, que esta en el libro "el lenguaje de programacion C".

Código
  1. char *fgets(char *s, int n, FILE *iop)
  2. {
  3. register int c;
  4. register char *cs;
  5.  
  6. cs=s;
  7. while (--n>0&&(c=getc(iop))!=EOF)
  8.    if ((*cs++=c)=='\n)
  9.        break;
  10. *cs='\0';
  11. return (c==EOF&&cs==s)?NULL : s;
  12. }
  13.  

mi duda es, para que fgets funcione "s" debe ser un arreglo o tener asignado una memoria con malloc o calloc y n no puede ser mayor a la cantidad de celdas reservadas.
28  Programación / Programación C/C++ / Re: a que refiere esta sintaxis en: 3 Enero 2017, 08:57 am
creo que los ultimos tres tabla esta mal, se refiere al nombre de la estructura que es table.

acá el link de donde saque el código:

http://www.it.uc3m.es/abel/as/MMC/M2/HashTable_es.html
29  Programación / Programación C/C++ / a que refiere esta sintaxis en: 3 Enero 2017, 08:34 am
Código
  1. typedef struct{
  2. char *name;
  3. int nia;
  4. }datos;
  5. struct elemento_t{
  6. datos valor;
  7. struct elemento_t *next;
  8. };
  9. typedef struct elemento_t elemento_type;
  10. typedef struct{
  11. int tamanho;
  12. int num_elementos;
  13. double densidad_deseada;
  14. elemento_type **tabla;
  15. }tabla_type;

el primer typedef define un tipo de datos llamado "datos" que es una estructura que tiene un puntero a char y un entero.
luego define otra estructura llamada elemento_t que adentro contiene una estructura tipo "datos" creada anteriormente y que tiene el nombre valor, y un puntero a la misma estructura.
luego lo que hace es definir a la estructura ultima como un tipo de dato llamado elemento_type.
por ultimo define una estructura como table_type que contiene dos enteros, un double y un apuntador que apunta a apuntadores que apuntan al tipo de dato elemento_type.

AHORA BIEN, MI DUDA VIENE EN EL SIGUIENTE PEDAZO DE CÓDIGO:

Código
  1. tabla_type table;
  2. int i;
  3. table.tamanho=20;
  4. tabla.num_elementos=0;
  5. tabla.densidad_deseada=0.25;
  6. tabla.tabla = (elemento_type **) malloc (sizeof(elemento_type *)*table.tamanho);
  7. for (i=0;i<table.tamanho;i++)
  8. {
  9.     tabla.tabla[i]=NULL;
  10. }
  11.  

¿a que se refiere la expresión "tabla.tabla"?

se que tabla es un puntero que apunta a un puntero que apunta a una estructura de tipo elemento_type

lo que me confunde es el signo de puntuación, según entiendo con el signo de puntuación se entra a los miembros de una estructura.
30  Programación / Programación C/C++ / Re: Puntero a función. en: 18 Diciembre 2016, 02:04 am
haa, el cast seria porque las funciones tienen  como argumentos punteros a char y el puntero a la función espera punteros a void ¿no?. es decir ¿los argumentos de las funciones que son punteros a char se convierten a punteros a void?¿cuando se vuelven a convertir en punteros char?
Páginas: 1 2 [3] 4 5 6 7 8 9
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines