Это механизм, позволяющий избежать таких ошибок:
if ( var = NULL ) {
// ...
}
Если вы напишите его с именем переменной справа, компилятор сможет отлавливать определенные ошибки:
if ( NULL = var ) { // not legal, won't compile
// ...
}
Конечно, это не сработает, если имена переменных появляются по обе стороны от знака равенства, и некоторые люди считают этот стиль непривлекательным.
Edit:
Как упоминал Эван в комментариях, любой порядочный компилятор предупредит вас об этом, если вы включите предупреждения, например, gcc -Wall
даст вам следующее:
warning: suggest parentheses around assignment used as truth value
Вы всегда должны включать предупреждения на вашем компиляторе, это самый дешевый способ найти ошибки.
Наконец, как отмечает Майк Б., это вопрос стиля и не влияет на производительность программы.