Проблемы с сортировкой

Я, признаюсь, не сильно шибко силен в указателях, но думаю что смысл все-таки в другом. А именно:
Тебе нужно прочитать данные из eeprom, поместить их в массив символов (закончив этот массив символов нуль-терминатором), а вот уже указатель на этот массив символов поместить в массив указателей. Таким образом у тебя получился массив нуль-терминированных строк.

Я знаю что такое нуль терминат. строка. я не понял зачем мне про него в моем случае написали…
ЭЭЭ, а разве я не тоже самое делаю -по сути я и создаю массив символов в памяти и на него пихаю указатель в массив MyStr ?>. Массив строк насколько я знаю так можно создать , можно и без указателей но для сортировки неудобно …

я может ошибьаюсь , но исхожу из того , что…

этой строчкой создается 3 массива символов в памяти , и указатели на них помещаются в массив MyStr… Вроде так. ( 3 адреса по которым я могу потом обратится к моим строкам, в конкретном данном случае)

Ты пхаешь в массив указателей MyStr указатель на одну и ту же переменную (fd).

Именно так, а когда читаешь из eeprom (смотри выше).

А … Вы про 29 строку… Да тут я видимо стормозил. хотя нет я же не *fd написал …
а так помоему разумению

хотя видимо все равно не то… собственно здесь я и запутался … я решил , что

 MyStr[zz] = fd

создаст в памяти строку и поместит указатель на нее в массив, но не вышло , тогда я решил , что надо ему сказать что я хочу поместить указатель в массив

 *MyStr[zz] = fd;

но тоже вышло не то …
видимо проблема вся в том , что я незнаю как правильно ему сказать , чтобы он пользовался не самой перемнной ‘fd’ , а строку из нее положил в память и указатель на нее забросил в массив…

Я бы в этом примере заполнял массив MyStr через функцию strcpy() (и не забудь про нуль-терминатор).

а ни чё что читать надо EEPROM.read() | Аппаратная платформа Arduino

Вы иммете ввиду , взять указатель на строку в переменной ‘fd’ , а потом скопировать массив символов с этого адреса в мой массив ?
Сейчас попробую

нет… я веть не символ хочу прочитать а всю сторку целиком

но ведь тогда получается мне надо выделить память под мою новую строку , потом создать в ней строку а потом ручками занести указатель на эту строку в массив … Я правильно понял …?

Щас тебе ua6em хорошего насоветует, пджди.

Метод read() читает один байт.

я про это

и про это

ну пусть байт ю я использую get , чтобы забрать всю строку целиком … зачем мне читать 20 байтов по одному … ?

А что мешает тебе объявить MyStr как:
char MyStr[30][20];

???

Ты хоть видел, что там я не тебе отвечал???!!!

пардон … да не заметил… извините

и 600 байт памяти отожрать?

если честно я не совсем понимаю , что мне это даст … точнее для заполнения массива конечно даст , но для сортировки мне нужны указатели на строки
Собственно я поэтому и не использовал 2 мерный массив