Programación General > C/C++
Duda novato punteros
m0skit0:
Cierto, Eternal Idol, disculpad los dos mi despiste :wacko:
nmaxcom:
--- Cita de: "Eternal Idol" ---El problema es que no podes asignarle a un caracter un puntero a cadena
--- Fin de la cita ---
Pero cuando hago char *flux = "test"; también estoy asignando a un caracter un puntero a cadena no? Y el compilador no se queja :huh: De hecho esta expresión es equivalente a char flux[] = "test";, ¿no? Por eso se parecen tanto punteros a arrays tengo entendido.
Muchas gracias a los dos. Con la explicación de m0skit0 he aclarado muchas cosas pero con la correcion de Eternal me he vuelto a perder :P
He escogido este link cplusplus.com/doc/tutorial/pointers/ que tiene muy buena pinta y cuando vuelva por la tarde a ver si me da tiempo de leerlo y me queda claro el tema punteros. También me conseguí bajar el Principles and Practice Using C++ de Stroustrup. Es una locura de tocho (1200 páginas!!) pero he leído buenas críticas, lo conocéis? Qué os parece para mi? No digo que tenga la ilusa intención de leermelas todas pero... ^_^
Con lo rápido que había avanzado desde 0 hasta aquí y el encasquillamiento que he cogido con el tema punteros jeje
Eternal Idol:
No, no es lo mismo, lo mismo es lo que te mostre justo debajo.
En uno estas asignando al PUNTERO la direccion de la cadena, en el otro intentas asignar a un caracter la direccion de la cadena.
r0d:
Es por eso que en C++ no se usa char*, que es C, sino la clase std::string.
La clase string resuelve todos estos problemas de sintaxis, de gestión de la memoria, etc.
Eternal Idol:
En realidad no:
--- Código: C++ ---std::string *flux;*flux = "test";
La situacion es la misma, accedemos a un puntero indefinido e incluso compila ...
Navegación
[#] Página Siguiente
[*] Página Anterior
Ir a la versión completa