Salve a tutti, è possibile effettuare delle operazioni in ambiente globale?

Mi spiego meglio:

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

int a=2;
int b=3;
int c;
c = a+b; /* è possibile fare qui questa operazione? se si perchè? L'esecuzione non parte dal main? */

int main(){
...
...
...
}
oppure una cosa del genere

codice:
#include <stdio.h>
#include <conio.h>
#include <alloc.h>

int *a;
a = (int*)malloc(sizeof(int)); // è possibile fare l'allocazione in questo punto? 

int main()
...
...
}