1. В вашем варианте сравниваются только значения, стоящие на одинаковых позициях, и записываются в такую же позицию в 3-ий массив. Это к вопросу необходимо ли искать одинаковые только по значению или одинаковые по значению и позиции.
2. Так как массив по сути указатель на некоторое количество ячеек памяти, то без его инициализации при обращению к какому-либо элементу будет возвращено значение хранящееся в данной ячейке. И в случае отсутствия инициализации нет никаких гарантий, что в данной ячейке не будет мусорных данных, что происходит практически в 100%.