Lorsque j'essaie de compiler le code C suivant, j'obtiens une erreur de bus. Je suppose que cela a quelque chose à voir avec la façon dont j'ai appelé memcpy, mais je ne peux pas le comprendre. Toute aide serait grandement appréciée!erreur de bus: 10. Code C, exemple malloc
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
char *p = (char*)malloc(sizeof(char)*11);
// Assign some value to p
p = "hello";
char *name = (char*)malloc(sizeof(char)*11);
// Assign some value to name
name = "Bye";
memcpy (p,name,sizeof(char)*10); // Problem begins here
return 0;
}
Autres remarques: [Ne pas convertir la valeur de retour de malloc] (http://stackoverflow.com/questions/605845/). Pourquoi utilisez-vous 'memcpy' pour copier * strings * quand' strncpy' et des fonctions similaires existent dans ce but? – DCoder