Bonjour a tous

Je me remet au c après quelques années , tout est encore dans la tête , mais des questions existentielles m'envahissent :

mon but est de faire le carré d'une matrice de 1 et de 0 , ayant une taille variable (saisie au debut de mon programme)... Je stocke ma matrice dans un tableau multidimensionnel , et je veux faire des calculs sur cette dernière , en la passant en parametre dans une fonction ... donc :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
//fonction de calcul avec la matrice en parametre
int calc_case(s32 x,s32 y,s32 matrice[][4], s32 taille){
	s32 icalc;
	s32 resultat=0;
	for(icalc=0;icalc<taille;icalc++){
	resultat=bool_or(resultat,bool_and(matrice[x][icalc],matrice[icalc][y]));
	}
	return resultat;
}
 
int main(){
//saisie de la taille de la matrice ... initialisation de la matrice ...
//....
//..
 
//appel de la fonction pour calcculer dans une case
int tamp=calc_case(0,0,matrice,matrice_taille);
}
et donc mon problème :

la taille de ma matrice est variable , mais je suis obligé de la déclarer dans ma fonction avec une valeur fixe (ici 4 , au pif)
comment puis-je faire passer la taille ma matrice ? car si je laisse
j'ai une erreur me disant invalid use of array with unspecified bounds

Merci d'avance pour vos lumières !