Salve mi sta da poco cimentando con l'allocazione dinamica,questo è un semplice programmino che mi da il seguente errore.Perche'?
malloc((((unsigned int)dim) * 4u))' cannot be used as a function
codice:
#include<stdio.h>
#include<assert.h>
#include<string.h>
#include<stdlib.h>
#define DIM 100
int main()
{
int *array;
int dim,i;
printf("Inserisci la dimensione");
scanf("%d",&dim);
array=malloc(dim*sizeof(int))
assert(array!=NULL);/*qui mi da errore*/
printf("Inserisci elemento");
for(i=0;i<dim;i++)
scanf("%d",&array[i]);
printf("Elementi allocati\n\n");
printf("posizione%d\tindirizzo di memoria:%d\tvalore:%d\n",i,&array[i],array[i];
se avessi usato
invece di
codice:
assert(array!=NULL);
andava bene cmq?Perchè ci ho provato e mi da un altro errore: invalid conversion from `void*' to `int*'?