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 - class_OpenGL

#191
Lo que pasa es que C convierte automáticamente las variables que pasas por parámetros si es una conversión válida. Te dejo las conversiones en C válidas (no necesitan ser convertidas explícitamente):

#192
Las variables de tipo float y tipo double se representan en memoria de forma diferente. Cuando pasas un double como float en una función, este se convierte automáticamente, pero cuando pasas un puntero a double como puntero a float, el contenido de la memoria no se reinterpreta y por lo tanto no ves ese resultado 'coherente'
#193
Programación C/C++ / Re: Ayuda a un noob
26 Junio 2016, 06:59 AM
Aunque es evidente que tienes que leer para aprender, el hecho de aprender no solo consiste en leer. Una vez leido cada 'tema' de la guía que estés leyendo, sería recomendable que hicieras ejercicios (no sé si eso lo tenías claro, pero yo lo dejo caer).

Yo aprendí C++ con varias páginas, pero una que me gustó fue http://www.conclase.net/. También me gustó http://www.minidosis.org/#/temas porque tiene ejercicios ya propuestos. Además he visto que la página cplusplus tiene una guía de C++. No la he leído, pero esa página me gusta, así que me arriesgaré a recomendar su guía: http://www.cplusplus.com/doc/tutorial/ Además, en esta última página puedes consultar las librerías estándar (te será muy útil).
#194
Justo lo acabo de entender y lo iba a publicar... Estoy ciego xD
#195
Sinceramente, no sé cómo el código funciona XD
#196
Vale, igual se me ha ido un poco de las manos XDD

#include <stdio.h>

int main() {
char cadena1[16] = "Hola";
char cadena2[16];

*(char **)cadena2 = *(char **)cadena1;

fprintf(stdout, "%s\n", cadena1);
fprintf(stdout, "%s\n", cadena2);
fputc('\n', stdout);
fprintf(stdout, "%p\n", cadena1);
fprintf(stdout, "%p\n", cadena2);

return 0;
}


Salida:
Hola
Hola

000000000023FE40
000000000023FE30


#197
El problema es cuestión de prioridades. Los corchetes tienen prioridad sobre el asterisco, así que cuando haces *arg1[1] es como si hicieras *(arg1[1]). Para solucionar el problema, tendrías que poner paréntesis para que el asterisco tome prioridad: (*arg1)[1]
#198
Programación C/C++ / Re: Malloc sin stdlib
24 Junio 2016, 12:52 PM
Seguramente si le dice al compilador que le ponga las advertencias, le dirá que la función malloc se usa de forma implícita. Algo como esto:

main.c: In function 'main':
main.c:2:14: warning: implicit declaration of function 'malloc' [-Wimplicit-func
tion-declaration]
  int *algo = malloc(sizeof(int));
              ^
main.c:2:14: warning: incompatible implicit declaration of built-in function 'ma
lloc'
main.c:2:14: note: include '<stdlib.h>' or provide a declaration of 'malloc'
main.c:2:7: warning: unused variable 'algo' [-Wunused-variable]
  int *algo = malloc(sizeof(int));


Código usado:
int main() {
int *algo = malloc(sizeof(int));

return 0;
}


El programa ha compilado, sin tener que incluir la librería
#199
Programación General / Re: Quiero aprender C.
24 Junio 2016, 08:17 AM
Yo mismo aprendo C para crear videiojuegos (es decir, aplicaciones gráficas). También puedes hacer bases de datos, programas que te faciliten la vida, como programas para resolverte ecuaciones, o sistemas). C tiene prácticamente infinidad de posibilidades, como bien dice AlbertoBSD
#200
Programación C/C++ / Re: Malloc sin stdlib
24 Junio 2016, 00:42 AM
Es posible que el enlazador haya enlazado las funciones. El problema con no incluir la librería stdlib es que usas la función implícitamente, y eso es un problema porque el compilador no puede comprobar si los argumentos y el valor de retorno concuerdan. Mejor incluye stdlib y te evitas problemas