Je suis nouveau à la programmation C, J'ai une structure avec char et int pointeur, j'ai utilisé pour modifier ce pointeur fréquemment, found some reference in online to realloc char * et son fonctionnement bien, mais la même chose quand je l'ai utilisé à l'intérieur la structure problème se pose signifie,Realloc char * à l'intérieur de la structure
typedef struct MyStruct
{
int* intPtr;
char* strPtr;
} Mystruct;
intérieur main()
Mystruct *myStructPtr;
myStructPtr = new Mystruct();
myStructPtr->intPtr = new int();
*myStructPtr->intPtr = 10;
myStructPtr->strPtr = (char *)malloc(sizeof("original"));
myStructPtr->strPtr = "original";
printf("String = %s, Address = %u\n", myStructPtr->strPtr, myStructPtr->strPtr);
myStructPtr->strPtr = (char *)realloc(myStructPtr->strPtr, sizeof("modified original"));
myStructPtr->strPtr = "modified original";
printf("String = %s, Address = %u\n", myStructPtr->strPtr, myStructPtr->strPtr);
J'ai trouvé erreur suivante tout en réaffectant le char * pointeur à l'intérieur
Cela peut être dû à une corruption du tas, qui indique un bogue ou l'un des DLL qu'il a chargé.
Ce n'est pas C. C n'a pas 'new' comme mot-clé. –
Pourquoi mélangez-vous C avec C++? à la fois 'new' et' malloc'? Stick avec un .. – Arash
[La FAQ C++] (https://isocpp.org/wiki/faq/freestore-mgmt#mixing-malloc-and-delete) – Lundin