Alors...
Un pointeur, c'est une variable contenant l'adresse d'une zone mémoire.
Un pointeur ne connait que trois choses : il sait qu'il est un pointeur, il connait une adresse vers le début d'une zone mémoire, et il sait quel type de données il y a dans cette zone mémoire (donc il ne sait même pas combien de données sont stockées dedans).
Donc, si tu veux stocker plusieurs float dans un même tableau, tu crées une zone mémoire de la taille adéquate (n * la taille d'un float), et tu stockes son adresse dans un pointeur de float.
Cette opération se fait avec la fonction malloc() (ou calloc() pour procéder à une initialisation à la volée)
Ensuite, pour passer le tableau à une fonction, en fait, tu passes l'adresse de ce tableau. Donc, le pointeur.
Erreurs :
//prototypes void Initialisation(float fTabPointeur, int inombre); |
=> float *fTabPointeur
Ce que tu crées ici est un pointeur sur des tableaux de float. Donc, un tableau à deux dimensions dont le nombre de "colonnes" est fixe (NB) et le nombre de "lignes" variable (dépend du malloc() que tu feras ensuite)
Ce que tu veux toi, si j'ai bien compris, c'est juste float *fTabPt.
fTabPointeur=NULL;// celui là je pense qu'il ne sert à rien ?! |
Servir je ne sais pas, mais comme je le disais en préambule, un pointeur contient l'adresse du début d'une zone mémoire. En passant cette adresse à NULL, tu perds toute référence à ta zone mémoire, tu ne peux plus savoir où elle se trouve.
Bon y a encore plein de trucs à dire, mais là ce qu'il te faudrait, c'est un cours complet sur les pointeurs en fait.
Message édité par Elmoricq le 17-08-2009 à 12:50:56