Etape 9: Vous avez mentionné un tableau à 3 dimensions ?
En effet, j’ai fait. Mais cela se rattache aussi avec les limites inhérentes des tableaux multidimensionnels. Cette limitation est livré sous forme de mémoire. La plupart du temps quand je créer le code, je place les variables sur la "pile" (une chose de la mémoire dans la programmation) en supposant que ce sont des variables locales ou créer des variables globales qui sont stockées dans un type de mémoire différent appelé « .data ».
Je ne vais pas tenter d’expliquer les détails/mécanismes de la mémoire dans la programmation (surtout parce que je ne comprends pas assez bien, mais vous pouvez en savoir plus ici), mais ce que je comprends quand j’ai essayé de créer un tableau à géant en trois dimensions sur le Uno32 comme un type de table de multiplication/cube, je suis tombé sur un problème de débordement de pile qui signifie j’ai essayé de placer plus de choses en mémoire que j’ai eu l’espace pour , alors le compilateur placé les choses excédentaires dans d’autres emplacements de mémoire qui ne doit pas être gâchés avec, causant le programme Crash quand j’ai essayé de courir. Je n’arrivais pas à convaincre le programme que mémoire allouée dynamiquement devrait me permet d’avoir plus d’espace mémoire soit.
Fondamentalement, j’ai a manqué de mémoire et n’a pas pu trouver un moyen pour que le tableau 3D fonctionne.
J’ai finalement fait un petit tableau 2D fonctionne (60 x 60), mais nous avons couvert juste un exemple sur tableaux 2D, et en fin de compte, vous pouvez simplement saisir votre problème de multiplication code et obtenir la réponse sans commencer par créer un tableau de réponses. C’est la ligne fine entre l’apprentissage de nouvelles choses et de pragmatisme.