"머리가 짧은" means "short cut hair" .
"학생" means "student"
So "머리가 짧은 학생" means "a student having a short cut hair"
"짧은" means "short"
"머리가" means "hair is"
So "짧은 머리가" means "a short hair is"....
ex) 짧은 머리가 잘리고 있다. = My short hair is cutting by something.
우리 반에서 머리가 짧은 학생은 누구예요? This sentence is correct.
The subject is "머리가 짧은 학생(은)"
우리 반에서 짧은 머리가 학생은 누구예요? This sentence is not correct.
Because there are two subject in this sentence.
First subject = 짧은 머리(가)
Second subject = 학생(은)
But if you say "우리 반에서 짧은 머리[의] 학생(은) 누구예요?" , it is correct.
Here is a tip for you. If these word "은,는,이,가" add to Noun in the backward, you can
regard the words as subject. But keep in mind that exceptions always exist.
I think my explain is a little insufficient.
sorry.