Tengo el siguiente código.C punteros asignados? ¿Qué es esto?
char a[] = "abcde";
char *b = "fghij";
char *c = malloc(6);
char *d = c;
c = "klmno";
Y los estados de ejercicio:
hacer un dibujo de las estructuras de datos A, B, C y D (con contenido), donde se puede ver lo que se ha asignado y utilizar las flechas para muestra cómo se configuran los punteros .
Mi solución es:
____________
a -> |a|b|c|d|e|\0|
¨¨¨¨¨¨¨¨¨¨¨¨
____________
b -> |f|g|h|i|j|\0|
¨¨¨¨¨¨¨¨¨¨¨¨
____________
c -> |k|l|m|n|o|\0|
¨¨¨¨¨¨¨¨¨¨¨¨
___________
d -> | | | | | | |
¨¨¨¨¨¨¨¨¨¨¨
Sin embargo, mi solución no ser aceptado y la respuesta fue "memoria asignada para un puntero a b, c, d, pero no un". ¿Puede alguien explicarme qué significa esto?
No está claro a partir de su pregunta cuál fue su respuesta y cuál fue su error. Intenta reformularlo para hacerlo más comprensible. – Neowizard
@karlphillip, c no se rellenó, se reasignó. – Neowizard
No, el contenido de 'c' no ** está ** copiado a' d'. –