[C] tableau 2D retourné par une fonction

Fermé
Celia - 17 févr. 2012 à 17:40
 le père - 18 févr. 2012 à 00:45
Bonjour,

J'ai un probleme : Je dois faire un programme qui crée et modifier un tableau 2D. j'ai donc une fonction int** creation(int tailleTableau) avec un "return tableau;" a la fin.

Lorsque j'appelle cette fonction dans le main, ça marche si j'écris

int  **tableau = creation(10);


Mais ça ne marche pas si j'écris

int **tableau;
**tableau = creation(10);


or je suis obligée d'utiliser la 2eme méthode plus loin dans le programme. Quelqu'un sais ce qui cloche?

A voir également:

2 réponses

fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 840
18 févr. 2012 à 00:39
Il faut mettre : tableau = creation(10);
**tableau est équivalent à tableau[0][0], il s'agit d'un int et non d'un pointeur.
0
Bonjour

Pour utiliser la deuxième méthode, il faut écrire simplement :

int **tableau;
tableau = creation(10);

tableau est une variable de type int **
Tu utilises le type pour déclarer la variable (éventuellement en l'initialisant comme dans ta première méthode).
Mais pourquoi veux-tu donc mettre une partie du type quand tu affectes une variable déjà déclaré ?

Quand tu as déclaré char x; as-tu l'idée de faire
ch x='a'; ou
ar x='a';
0