1

Bonjour,
Quelqu'un sait comment programmer un pointeur de fonction en C avec GTC sur ti89 titanuim ? J'ai essayé le code suivant

#include <stdio.h>

//prototype fonction
Void maFonction(void);

void _main(void)
{
// déclaration pointeur fonction
Void (*ptr)(void);
ptr = maFonction;
}

J'obtiens malheureusement une erreur sur l'affectation de l'adresse de la fonction au ptr.

2

Les pointeurs de fonctions me brisent méchamment les bonbons en C également. Dire que c'est si simple au niveau machine. Je crée un topic à côté pour ma propre question, désolé de ne pouvoir t'aider, je me butte au même problème :/

3

Un tutoriel en français sur les pointeurs de fonctions : http://www.newty.de/fpt/zip/f_fpt.pdf
avatar
Zeroblog

« Tout homme porte sur l'épaule gauche un singe et, sur l'épaule droite, un perroquet. » — Jean Cocteau
« Moi je cherche plus de logique non plus. C'est surement pour cela que j'apprécie les Ataris, ils sont aussi logiques que moi ! » — GT Turbo

4

(merci, bookmark immédiat, mais j'ai déjà créé mon topic en crossant avec ton post grin)

5

godbod (./1) :
J'obtiens malheureusement une erreur sur l'affectation de l'adresse de la fonction au ptr.

Au passage, j'espère que tu écris bien "void" (tout en minuscule) et non "Void" comme tu l'as fait dans ton exemple initial. Sinon, l'exemple de PpHd dans le topic voisin pourrait t'aider, en tout cas pour moi ça a marché. smile

6

Oups ! excusez moi, voici le nouveau code que j'ai tapé pour ma calculatrice, il fonctionne très bien. Je faisais effectivement une erreur en écrivant ma ligne d'affectation. Je vous remercie pour votre réponse rapide.
#include <stdio.h> void afficherHello(void); void _main(void) { void (*ptrFonction)(void); ptrFonction = afficherHello; ptrFonction(); } void afficherHello(void) { printf("Hello!\n"); } [source=c]