Vous devez comprendre les pointeurs ! Si vous n'avez jamais utilisé un langage de programmation utilisant les pointeurs avant, soyez très attentif. Les pointeurs sont des outils puissants et utiles que vous allez les utiliser dans pratiquement tous vos programmes. Ils permettent d'organiser la RAM.
Qu'est-ce que la RAM?
C'est de la mémoire vive, qui est alimenté par vos piles constamment, d'environ 65536 octets sur les TI-83+/84+.
Mais comment voulez-vous accéder à toutes cette RAM? Comment pouvez-vous lire et écrire dedans?
Par le moyen le plus simple ; donner à chaque octet de RAM ses propres adresse.
L'octet 0 a l'adresse 0, le octet 1 a l'adresse 1, et ce jusqu'au dernier octet 65535 de l'adresse 65535.
Voici l'exemple le plus courant pour les chaînes de caractères :
Code : Autre - Sélectionner1
2
3
| :.HELLO
:"Hello World"→Str1
:Disp Str1 |
Mais c'est exactement pareil qu'en Basic
Faux!
Cela donne l'impression de fonctionner pareil. Regardons ce qui se passe réellement.
Tout d'abord, Str1 est un pointeur qui est un nombre, pas une réelle chaîne.
La phrase "Hello World" est stockée dans l'exécutable à une adresse et le pointeur Str1 est juste un nombre qui nous indique où cette chaîne se trouve dans le programme.
La fonction d'affichage prend un certain nombre comme argument, ensuite il faut que le pointeur trouve l'adresse qu'il pointe, et c'est comme cela qu'il sait où trouver la chaîne de caractère à afficher.
Un petit schéma pour éclaircir les choses :
*\
Todo
\*
Mais si le pointeur est juste un nombre, on peut faire des maths avec?
Oui on peut faire des maths avec un pointeur! Observons ce code par exemple :
Code : Autre - Sélectionner1
2
3
| :.HELLO
:"Hello World"→Str1
:Disp Str1+6 |
Cela affichera juste "World", car la chaîne est stockée dans l'ordre dans des adresses. Disons : le "H" a été situé à l'adresse 100, donc "e" est à 101, le premier "l" est à 102, etc.. Donc, au moment où nous arrivons à l'adresse 106, nous sommes à "W". C'est pourquoi l'affichage de routine saute la partie "Hello".
En Axe, Str1 et les autres variables de la calculatrice sont appelés pointeurs statiques.
Cela signifie qu'une fois que vous les avez déclarés, leur valeur ne peut pas changer pour le reste du programme.
Les pointeurs statiques sont Str, Pic, et GDB. Vous pouvez les utiliser comme vous voulez, ce sont de simple numéros, mais c'est par convention qu'on utilise Str pour les chaînes de caractères (string), Pic pour les sprites, et GDB pour les Data. En aucun cas ce sont les variables utilisées en TI-Basic.
Qu'est ce que c'est que les sprites et les Data?

Pas maintenant, cela fera l'objet d'un prochain chapitre!