Ah oui le sizeof(Double) est pas beau D'ailleurs le sizeof(int) de la ligne du dessus est pas forcément toujours vrai, le premier c'est la taille de N pointeurs (souvent de la taille d'un int mais bon faut faire gaffe), bref un sizeof(int*) serait mieux.
Bah en fait le malloc il est pas à prendre en compte, c'est la fonction que tu veux réutiliser, l'initialisation du tableau c'est pour l'exemple.
Ce que j'aime bien dans cette solution c'est le fait de pouvoir utiliser qqc qui rappelle vraiment un tableau à deux dimensions et l'utiliser comme tel.
Pour la petite précision, effectivement on peut mettre "int t[l][c]" plutot que "int t[][c]", mais dans l'absolu ça ne sert à rien d'avoir la taille de la première colonne, on le voit quand on y accède de la façon "t[i*c+j]" qui n'utilise pas le nombre de ligne.
Après un peu de réflexion, je pense qu'on ne pourra pas utiliser un tableau static (int[][]) en entrée sur un int**, même si l'un peut se faire passer pour l'autre, dans l'absolu ces deux déclarations n'ont pas la même sémantique au final, l'un est vraiment un tableau (donc un espace mémoire de nbLigne*nbColonnes continu), l'autre un pointeur qui pointe sur un pointeur qui pointe vers un entier.
Même si j'ai pas eu bcp de temps, j'ai bien aimé, ça faisait longtemps que j'avais pas trop réfléchi à comment ça marche en vrai, et c'est la que je vois qu'il me manque quelques notions sur le fonctionnement interne du C.
- Oracid aime ceci