Почему Массив символов не ровняется обычной строке?
Потому что ваш код сравнивает указатели (адреса в памяти для строк в var и var2).

Для сравнения строк есть функции strcmp (и ее вариации).
Потому что так делать нельзя :)

Это не перл, не питон и не любой другой язык с автоматическим управлением памятью. Это язык, где нужно явно указывать - что тебе надобно, старче.

Вы сравниваете два указателя, то есть две переменные, содержащие адреса в куче. Разумеется, они будут разные.

Для сравнения строк есть strcmp(), strncmp(), strcasecmp(), memcmp() и прочие подобные