Здравствуйте, MikelSV, Вы писали:
MSV>Хм, странно, но у меня все работает.
MSV>Не понимаю. Если вы про размеры типов данны, то об этом я знаю и учитываю в разработке.
MSV>Если предлагаете сделать так: *(char *)edata=*(char *)&ndata; То нужного эффекта не получается, так как копируется только один символ.
А сколько нужно копировать?
_>>Кроме того, вы используете указатель для хранения адреса на нужный вам указатель (масло маслянное).
_>>Может в этом и есть тайный смысл, но почему бы в edata не хранить именно &ndata? Тогда edata = (char *)&ndata;
MSV>Пардон, но нафига мне адрес на ndata? ndata — простой указатель на новый блок данных.
Не знаю нафига...

Но вы писали буквально:
Есть такая вещь: memcpy(edata, &ndata, 4); запись указателя на ndata в переменную edata.
Проблема в том, что я не могу сделать это без memcpy, а так хочется.
MSV>Структура матрицы: [unsigned int size][char *nextdata][ char[x] data ]
MSV>Здесь я решил сделать без использования структур. Да, код писать сложнее, но более интересно.
Ничем не сложнее. Просто в общем случае код будет медленнее, ну и памяти поменьше будет использовать иногда.
А чтобы было еще интереснее и эффективнее (в отношении использования памяти) используйте не т.н. "линейный односвязный список", а xor-связный список.
MSV>Фокус прост: char *data, *edata, *ndata; — указатели на начало, конец и для прочих нужд.
MSV>все данные пишутся в блок данных(3) матрицы. Когда место заканчивается выделяю еще буффер, а в предыдущий блок пишу указатель на созданный.
Это что-то вы вообще уникальное придумали. Как назвали? Паровозик?
MSV>Для определенных задач это самая эффективная матрица. Думаю на этой матрице закончится мой многолетний труд над ними. Это самая мощная матрица из всех (ранее созданных).
MSV>>>Вопрос решен
MSV>Но люди еще лезут
Хотите, чтобы игнорировали и не замечали вашего присутствия?