Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - fafafa01

#11
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
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
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:


main(){
    int i=0;
    while(){
        .
        .
        .
    }
    int c;
    .
    .
    .
    .
}
#14
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 C/C++ / [C] EOF en entrada standar
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:


while((c=getchar())!=EOF){
   .
   .
   .
}


el programa no termina nunca, es decir, se queda esperando.
#16
Programación C/C++ / Re: macros en C
25 Enero 2017, 15:29 PM
Osea al final la macros quedaria asi:

Main(){
{ t _z;
_z=y;
y=x;
x=_z; }
}


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


#define swap(t,x,y) { t _z;  \
                              _z=y; \
                              y=x; \
                              x=_z; }                 


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
main(){
swap(t,x,y);
}

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.

main(){
{ t _z;  \
_z=y; \
y=x; \
x=_z; }
}
#19
que les parece este:


//convierte de entero a una cadena de char recursivamente.
char *itoa(int n){
static int i=1,c;
if(n/10){
char *t;
i++;
t=itoa(n/10);
t[c++]=abs(n%10)+'0';
return t;

}
else{
if(n<0){
static char s[i+1];
s[c++]='-';
s[c++]=-n+'0';
return s;
}
else{
static char s[i];
s[c++]=n+'0';
return s;
}
}
}
#20
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:


a[i]=i++;


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í:


a[i]=(i++);


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

(int)(a+b)


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