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


  Mostrar Mensajes
Páginas: 1 [2] 3 4 5 6 7 8 9
11  Programación / Programación C/C++ / ¿Puedo crear el concepto de "clases" con estructuras y memoria dinamica en C? en: 3 Septiembre 2017, 20:51 pm
Hola, estoy aprendiendo POO en C++ y conozco algo de C.

Mi duda es si en C, con estructuras creadas por nosotros y con los distintos tipos de punteros (int, char, a funcones, etc) y memoria dinamica se podría crear algo parecido a las clases de C++.
También me gustaría saber si todo programa creado en C++, se podría crear en C.

Saludos.
12  Programación / Programación C/C++ / [C] Funciones de bajo nivel. en: 11 Febrero 2017, 10:07 am
Buenas, leyendo el libro "El lenguaje de programación C" de Brian Kernighan en uno de los últimos capítulos habla de la interfaz con el sistema operativo Unix. y muestra funciones como read, write, open, etc. mis dudas son:

°¿solo sirven para Unix o también para windows?
°¿están declaradas y definidas en una carpeta en particular como <stdio.h>, o hay que declararlas?
 
13  Programación / Programación C/C++ / [C] Crear una variable a la mitad de un bloque. en: 9 Febrero 2017, 00:03 am
Quisiera saber si es legal y una buena practica crear una variable a la mitad de un bloque después de haber escrito código, como por ejemplo:

Código
  1. main(){
  2.    int i=0;
  3.    while(){
  4.        .
  5.        .
  6.        .
  7.    }
  8.    int c;
  9.    .
  10.    .
  11.    .
  12.    .
  13. }
14  Programación / Programación C/C++ / [C] Prioridad de las funciones en: 6 Febrero 2017, 09:22 am
Hola, alguien sabe si esta definido en C la prioridad que tienen las funciones. Es decir, si el compilador intentara buscar la declaración de una función primero en el archivo donde se esta trabajando o en los header con el preprocesador. saludos.
15  Programación / Programación C/C++ / [C] EOF en entrada standar en: 3 Febrero 2017, 07:27 am
Existe verdaderamente el caracter EOF cuando se trabaja con la entrada estándar.

mi duda surge por la siguiente linea de código:

Código
  1. while((c=getchar())!=EOF){
  2.    .
  3.    .
  4.    .
  5. }
  6.  

el programa no termina nunca, es decir, se queda esperando.
16  Programación / Programación C/C++ / Re: macros en C en: 25 Enero 2017, 15:29 pm
Osea al final la macros quedaria asi:
Código
  1. Main(){
  2. { t _z;
  3. _z=y;
  4. y=x;
  5. x=_z; }
  6. }
  7.  

Con dos llaves
17  Programación / Programación C/C++ / macros en C en: 24 Enero 2017, 22:49 pm
Buenas estaba tratando de analizar la siguiente macro:

Código
  1. #define swap(t,x,y) { t _z;  \
  2.                               _z=y; \
  3.                               y=x; \
  4.                               x=_z; }                  
  5.  

según el programa el parámetro t debe ser el nombre de un tipo (int, char o float)que sea del mismo tipo que los parametros x e y para así poder declarar la variable _z del mismo tipo.

mis dudas:
Para que sirve la barra '\' después del punto y coma.
la otra duda que tengo es si los parametros de swap pasan por valor como en cualquier funcion de c.
y la ultima duda, la macros reemplaza un texto de la forma
Código
  1. main(){
  2. swap(t,x,y);
  3. }
por todo lo qu esta adentro de las llaves {} incluyendo las llaves o las llaves no las reemplaza. si remplaza con las llaves no debería dar error.

Código
  1. main(){
  2. { t _z;  \
  3. _z=y; \
  4. y=x; \
  5. x=_z; }
  6. }
18  Programación / Programación C/C++ / Re: funcion que devuelve un puntero de una variable static en: 24 Enero 2017, 21:53 pm
tenes razon
19  Programación / Programación C/C++ / Re: funcion que devuelve un puntero de una variable static en: 24 Enero 2017, 21:35 pm
que les parece este:

Código
  1. //convierte de entero a una cadena de char recursivamente.
  2. char *itoa(int n){
  3. static int i=1,c;
  4. if(n/10){
  5. char *t;
  6. i++;
  7. t=itoa(n/10);
  8. t[c++]=abs(n%10)+'0';
  9. return t;
  10.  
  11. }
  12. else{
  13. if(n<0){
  14. static char s[i+1];
  15. s[c++]='-';
  16. s[c++]=-n+'0';
  17. return s;
  18. }
  19. else{
  20. static char s[i];
  21. s[c++]=n+'0';
  22. return s;
  23. }
  24. }
  25. }
  26.  
20  Programación / Programación C/C++ / Forma de evaluación de los operandos de un operador. en: 24 Enero 2017, 10:20 am
Buenas, leyendo un libro de C, decía que solo en los operandos de los operadores ("&&","||","?:" y ",") se especifica la evaluacion de un operador.

y por lo tanto en el siguiente ejemplo:

Código
  1. a[i]=i++;
  2.  

no se sabe si el subindice es el valor antes o después del incremento.

mi duda es: como el operador [] es el de mas alta precedencia la i  seria el valor viejo cualquier sea el compilador con el que se compile.¿ es acertada la conclusion?

si en cambio, el código seria así:

Código
  1. a[i]=(i++);
  2.  

ahi el subindice si seria el nuevo ya que el operador () esta antes que el []

mi ultima duda:

si un operador unario como cast se pone al lado de una expresión compuesta
Código
  1. (int)(a+b)
  2.  

que se hace primero:
según el operador (), como la asociatividad es de izquierda a derecha, se ara el cast, pero el operador cast se evalúa de derecha a izquierda
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