Добрый день, возник такой вопрос: имеются 2 динамических массива, один из которых типа int а другой double. Очень удобно размещать их в одном массиве, так как они формируются внутри одной функции, которая может возвращать указатель на общий массив (то что возвращать можно несколько указателей в аргументах -понятно, но это не так наглядно), да и освобождать память удобнее сразу. Другими словами - меньше вероятность что то пропустить.
Собственно так я и делаю, а именно - формирую общий массив double, а переменные типа int преобразую в double. В общем то всё работает, но как то криво, да и бесполезные затраты на постоянные преобразования uint в double и обратно.
Возникла идея вместо этого сделать так:
long int* Tabl = (long int*) malloc(SizeTabl);
long int* Numbers=Tabl+2;
double* Values=(double*) (Numbers +NB);
Размеры long int и double одинаковые. По указателям *Tab и *Numbers можно работать как с int, а по указателю *Values уже как с double. Как считаете, нормально ли будет работать? Нет ли здесь каких то "подводных камней"?