указатели сами по себе не очень сложно понять: грубо говоря - это переменная, значением которой является адрес в памяти, по которому лежит значение другой переменной (обычно анонимной, или безымянной, если угодно). строк в Си нет (но можно подключить например glib и наслаждаться). строкой в "ванильном" Си, без дополнительных библиотек, принято называть массив символов. массив в Си (с небольшими оговорками) - это указатель на первый элемент массива. выше уже написали, что если вы хотите считать строки файла в массив строк, то на самом деле вам нужен массив массивов (т.е. 2-мерный массив) символов. важной особенностью массивов в Си является необходимость указания размера ещё на этапе компиляции, т.е. мы сначала задаем размер массива (в данном случае он будет длиной строки), а потом заполняем его, попутно проверяя, не "переполнили" ли мы выделенное место. коллеги предлагают небольшие размеры массивов (26,7,20), я всегда выделяю 512 (2017 год на дворе), но считываю не более 500. удачи.