[C] Probleme de déclaration

Probleme de déclaration [C] - Programmation

Marsh Posté le 08-01-2002 à 17:44:03    

jai besoin de déclarer un tableau de double
je suis habitué a programmer en c++ il il suffit d'écrire
 
int N = 50;
double* Tab = new double[N];
 
Le problème est que pour une application je dois programmer en C et je ne sais pas comment déclarer ce tableau pour men servir.
Je sais qu'il existe malloc et calloc mais je ne sais pas les utiliser .
Quelqu'un pourrait-il m'expliquer comment déclarer un tableau de double ?

Reply

Marsh Posté le 08-01-2002 à 17:44:03   

Reply

Marsh Posté le 08-01-2002 à 17:47:50    

int N = 50;
double* Tab = (double*)malloc(N * sizeof(double));

Reply

Marsh Posté le 08-01-2002 à 17:48:53    

jte remercie beaucoup Alload je testerai ca :)

Reply

Marsh Posté le 08-01-2002 à 18:27:29    

pas oblige de caster.
 
par contre ne pas oublier d'inclure
stdlib.h
 
(ou cstdlib si tu programmes en C++)
 
LEGREG

Reply

Marsh Posté le 08-01-2002 à 18:30:13    

g un doute sur le fait qu'il fait pas caster...
en tout k mon compilo il me jete ca a la gueule si je le fait pas


---------------
What butter and whiskey won't cure, there is no cure for.
Reply

Marsh Posté le 08-01-2002 à 19:01:55    

tu compiles en c++?
 
cast => non obligatoire et parfois deconseille par certaines personnes en C ANSI (car cela peut cacher une erreur)
=> obligatoire de caster explicitement un pointeur en type pointeur non void en C++ standard
c'est a dire legal de ne pas caster de double* en void*
mais pas de double* en char*  
et pas de void* en double* (ou char*)
(la semantique du cast est un peu plus riche
en C++)
 
LEGREG

Reply

Marsh Posté le 08-01-2002 à 19:19:21    

par ailleurs, malloc est utilise
assez rarement en C++.
ca arrive quand on recupere du code  
mais en general il est bon
de ne pas juste copier coller
du code de C en C++
parce que de nombreuses petites
choses changent.
 
A+
LEGREG

Reply

Sujets relatifs:

Leave a Replay

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