I'm trying to create dynamic memory allocation using malloc but always I got 0 as output instead of 5.
My code
typedef struct{
int nl;
double *vect;
}vect_t;
void creerVecteur(vect_t *ptrVect){
double *p;
ptrVect->vect=(double *)malloc(ptrVect->nl*sizeof(double));
ptrVect->vect[0] = 5;
ptrVect->vect[1] = 7;
ptrVect->vect[2] = 2;
printf("%d\n",ptrVect->vect[0]);
}
int main(){
vect_t v1;
v1.nl = 3;
creerVecteur(&v1);
}
CodePudding user response:
You're using the wrong format specifier to printf.
The %d format specifier is for printing an int in decimal format. To print a double, use %f.
