Ragazzi dove sbaglio??
Sicuramente sbaglio o nel ritorno o nell'inizializzazione del main ma non riesco a capire che errore di sintassi c'è.
Il programma(molto semplice) ve l'ho commentato cosi vediamo anche se oltre alla sintassi c'è da rivedere la logica.

codice:
#include <stdio.h>
#include <stdlib.h>

int** allocMatrix( void );

int main(void) {

	//metto dentro al puntatore matrix l'indirizzo a matrix che mi ritorna
	int *matrix = allocMatrix

	return 0;
}

int** allocMatrix( void ) {
	printf("Inserire lato matrice quadrata: ");
	int l;
	scanf("%d", &l);
	/* dichiaro un puntatore che contiene l'indirizzo ad un array lungo l*l */
	int *matrix = malloc(sizeof(int)*(l*l));
	for(int i = 0; i < l*l; i++)
		matrix[i] = 33;
	/* ritorno quello che c'è dentro alla variabile puntatore matrix ovvero, l'indirizzo dell'array l*l */
	return matrix;
}
3@tre ~
$ gcc -Wall -std=c99 -o a.exe a.c
a.c: In function ‘main’:
a.c:9:16: warning: initialization from incompatible pointer type
a.c:11:2: error: expected ‘,’ or ‘;’ before ‘return’
a.c:9:7: warning: unused variable ‘matrix’
a.c: In function ‘allocMatrix’:
a.c:23:2: warning: return from incompatible pointer type
Le specifiche dell'esercizio sono:
Gli elementi della matrice ritornata si devono poter accedere tramite la sintassi delle parentesi quadre