Bonjour, alors voici ma question:
etant donné un entier m, je veux créer une fonction qui à partir de cet entier me renvoie un tableau de taille m passé en paramètre (de sortie). Pour cela j'utilise des pointeurs , mais deux possibilités me viennent en tête. quelle est la plus "propre" ?
avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 int main() { int m = 10; int* p = malloc(m*sizeof(int)); if (p == NULL) { printf("Memory allocation problem"); exit(0); } ma_fonction(m, p); .... free(p); return 0; }
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 void ma_fonction(int m, int* p) { int i; for(i = 0; i < m; i++) *(p+i) = i ; //par exemple }
avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 int main() { int m = 10; int* p; ma_fonction(m, &p); .... return 0; }
Merci d'avance pour votre réponse !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 void ma_fonction(int m, int** p) { *p = malloc(m*sizeof(int)); if (*p == NULL) { printf("Memory allocation problem"); exit(0); } int i; for(i = 0; i < m; i++) *(*p+i) = i ; //par exemple }![]()
Partager