Раньше я преподавал программирование, и именно так я объяснял эту конкретную проблему.
Сначала сфокусируйтесь на общих чертах : и массив символов, и строка состоят из последовательности символов. То, что последовательность означает, что символы упорядочены и могут быть перечислены, например.
Теперь сосредоточьтесь на том, что каждая из двух вещей добавляет, в своих конкретных различных способах, к этой общей почве.
A массив символов добавляет то, что известно для добавления любого массива: индексирование и произвольный доступ к отдельным элементам.
A string , с другой стороны, добавляет тот факт, что последовательность символов рассматривается как единое целое со своими собственными свойствами. В некоторых реализациях достижение этого означает изменение способа хранения символов (например, добавление завершающего нуля в строки C).
Этот подход (посмотрите на общие черты, а затем на то, как вещи от них расходятся) оказался полезным в различных ситуациях.
Надеюсь, это поможет.