allocation dynamique avec double pointeur ou non
Bonsoir,
Je cherche depuis quelques heures une solutions à mon problème :
je souhaite déclarer dans une fonction main par exemple un char* que j'initialise a NULL, ensuite je souhaite le passer a une fonction par adresse (pointeur) qui me permettra de lui allouer dynamiquement de la mémoire avec le fameux malloc pour au final avoir un tableau de char dans mon main => une chaine de caractère.
J'ai donc essayé ceci :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| #include <stdio.h>
#include <stdlib.h>
#include <regex.h>
#include <string.h>
void fonction( char **p){
*p = (char *) malloc (sizeof(char)*3);
*(p[0])= 'T';
*(p[1])= 'A';
}
int main( int argc, char* argv[]){
int i;
char* pointeur = NULL;
fonction(&pointeur);
for(i=0;i<3;i++){
printf("%c\n",pointeur[i]);
}
return EXIT_SUCCESS;
} |
Evidement si je souhaite faire ceci c'est pour résoudre un problème que je rencontre dans un programme plus compliqué et non pas pour vous embêter :D
Avis aux amateurs de C
Bonne soirée !