C: Speicherallokierung für Matrix

Hallo,
ich lese eine Zahl n ein, demzufolge möchte ich dann eine
n x n Matrix haben.
Wie mache ich das.
int *matrix;
int n;

n = 7;
matrix = malloc(n * sizeof(int) * n *sizeof(int));
funktioniert nicht.
Die matrix soll dann auch z.b. so angesprochen werden:
matrix[2][4];

Wie geht das ???

Wäre wirklich dringend…

Vielen Dank.

lotte

hi…
versuchs mal so:

...
float \*\*matrix; 
matrix=(float\*\*)calloc(zeile,sizeof(float\*));
for(i=0;i 

bei dir: zeile=spalte=n

hoffe, funzt und hilft
tafp