Increment pointeur tableau
Bonjour,
J'essaye de comprendre le fonctionnement des pointeurs en ada et je bloque sur les tableaux.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| with Ada.Text_IO, Ada.Integer_Text_IO ;
use Ada.Text_IO, Ada.Integer_Text_IO ;
procedure Test is
Type T_Pointeur is access all integer ;
Ptr : T_Pointeur ;
Type T_Tableau is array(0..5) of aliased integer ;
MyTab : T_Tableau;
begin
MyTab(0) := 374 ;
MyTab(1) := 320 ;
Ptr := MyTab(0)'access ;
Put(Ptr.all);
Ptr:=Ptr+1;
Put(Ptr.all);
end Test ; |
Ce qui m'est interdit c'est l'incrément du pointeur. Ce que je veux essayer de faire c'est incrémenter le pointeur (donc l'adresse qui est pointée) pour accéder à la case suivante du tableau.
Qu'est ce que je n'ai pas compris ?
Merci
Arithmétique de pointeurs
Les pointeurs (en Ada) sont prévus pour des cas assez particuliers: allocation dynamique, arbres spéciaux, communication avec le C.
Il y a un paquetage Ada.* qui permet de faire de l'arithmétique de pointeurs (jamais utilisé). Est-ce que c'est le but de l'exercice?