float* *array ça donne quoi ça??

float* *array ça donne quoi ça?? - C++ - Programmation

Marsh Posté le 15-06-2003 à 11:39:21    

Salut
 
Il y a un truc que je comprend pas en C++ (fin pas qu'un truc :)  )
voici le prototype de fonction  

Code :
  1. Lecture(const char* filename, float* *array)


 
Dans la main j'ai

Code :
  1. float *data_array=NULL;
  2. const char* input_FileName="monfichier.txt";
  3. lecture(input_FileName,&data_array)


 
Je comprend pas le

Code :
  1. float* *array

dans le prototype,
 
float* est un pointeur et *array c'est un derefenciation d'une adresse memoire (dounc le contenu de cette valeur)???
Help please!!!
 

Reply

Marsh Posté le 15-06-2003 à 11:39:21   

Reply

Marsh Posté le 15-06-2003 à 11:48:24    

array est un pointeur vers un pointeur vers un float.
ca permet a la fonction de créer un tableau utilisable par l'appelant


---------------
-( BlackGoddess )-
Reply

Marsh Posté le 15-06-2003 à 11:53:25    

c'est toujours comme ça qu'il faut faire pour une creation dynamque de tablo???

Reply

Marsh Posté le 15-06-2003 à 13:25:57    

non, tu peux faire comme malloc et retourner un pointeur vers une zone allouée dynamiquement

Reply

Marsh Posté le 15-06-2003 à 14:14:50    

grosmethos a écrit :

c'est toujours comme ça qu'il faut faire pour une creation dynamque de tablo???


 
pour les tableaux bidimensionnels, tu crées d'abord un tableau de pointeurs vers des float :
 
float** tab = new float*[nb];
 
puis tu parcours le tableau pour y stocker les tableaux de float :
 
for(int k=0; k<nb; k++)
   tab[k] = new float[nb];
 
pour faire une matrice carrée. C'est généralement ce que suggère l'écriture "float* *array"
 
 
edit : on ne fait pas de malloc en C++  :fou:


Message édité par Tetragrammaton IHVH le 15-06-2003 à 14:16:34

---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 15-06-2003 à 14:40:03    

et on fait pas non plus de passage par adresse en C++
 
edit:  
et en C++ on utilise les  string, on encapsule les allocations mémoires dans des classes, on fait aussi des classes tout cours et tout programmeur sait que NULL vaut 0
 
tout porte à croire que grosmethos fait du C avec des new.
 
 
alors me la fait pas à moi la leçon


Message édité par Taz le 15-06-2003 à 14:46:57
Reply

Marsh Posté le 15-06-2003 à 14:58:22    

Attention, le taz part en vrille...

Reply

Marsh Posté le 15-06-2003 à 15:00:43    

[:samduloft]

Reply

Marsh Posté le 16-06-2003 à 11:36:04    

++Taz a écrit :

et on fait pas non plus de passage par adresse en C++
 
edit:  
et en C++ on utilise les  string, on encapsule les allocations mémoires dans des classes, on fait aussi des classes tout cours et tout programmeur sait que NULL vaut 0
 
tout porte à croire que grosmethos fait du C avec des new.
 
 
alors me la fait pas à moi la leçon


 
Peux tu me dire où j'ai dit/fait ça ? [:rofl]  :pt1cable: [:rofl]


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 16-06-2003 à 12:46:35    

chté à l'oeil ;)

Reply

Marsh Posté le 16-06-2003 à 12:46:35   

Reply

Marsh Posté le 16-06-2003 à 17:01:15    

c pas bo le "float** tab"...


---------------
Just drink it!
Reply

Marsh Posté le 18-07-2003 à 00:46:45    

ok je crois que j'ai bien compris
merci

Reply

Marsh Posté le 18-07-2003 à 00:54:46    

grosmethos a écrit :

ok je crois que j'ai bien compris
merci

ben faut l'expliquer longtemps alors  :ouch:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed