Est-il sécuritaire de faire quelque chose comme ce qui suit?'strcpy' avec 'malloc'?
#include <stdio.h>
#include <malloc.h>
#include <string.h>
int main(void)
{
char* msg;
strcpy(msg, "Hello World!!!"); //<---------
printf("%s\n", msg);
return 0;
}
Ou faut-il utiliser ce qui suit?
char* msg = (char*)malloc(sizeof(char) * 15);
Vous avez besoin du malloc, sinon msg est juste un pointeur qui pend. –
Utilisez 'malloc', mais supprimez la distribution et' sizeof (char) '. L'utilisation correcte est 'char * msg = malloc (15);' –
Aussi 'malloc()' est déclaré dans '' pas '' –
pmg