Bonjour,
j’écris actuellement un programme qui récupère (dans un fichier) puis traite de longues chaines de caractère. Pour cela j’utilise une procédure dans laquelle je déclare une chaine de la façon suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
char *tampon = (char *)malloc(1000*sizeof(char));
Comme j’ai besoin de conserver le contenu de la chaine entre 2 appels de ma procédure, je souhaiterais la déclarer en static comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
static char *tampon = (char *)malloc(1000*sizeof(char));
Mais j’obtient l’erreur de compilation suivante:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
erreur: un élément de l'initialisation n'est pas une constante
Avez-vous une idée?

À savoir: en déclarant ma chaine comme un tableau de caractère, ça fonctionne, mais cette solution ne m’arrange pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
static char tampon[1000];
Merci pour l’aide que vous pourrez m’apporter.