Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.11.2010, 16:08   #1
Renat060888
Новичок
Джуниор
 
Регистрация: 21.11.2009
Сообщений: 2
Сообщение Си - Выделение кучи -> инициализация указателя -> запись массива

Всем день добрый. Собственно вопрос такой:

Необходимо инициализировать указатель под конкретный адрес памяти на N ячеек (до сюда проблем нет), а затем тут же заполнить их конктретными величинами (они известны).

Проблема в том, что нельзя использовать какой либо промежуточный массив из которого можно было бы переписать их туда, ну типо так:

Код:
TempArray[count] = {...};

for(i = 0; i < count; i++)
    
    Pointer[i] = TempArray[i];
Кто-нибудь сталкивался с этим?

Последний раз редактировалось Renat060888; 22.11.2010 в 16:11.
Renat060888 вне форума Ответить с цитированием
Старый 22.11.2010, 16:34   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
под конкретный адрес
Тоесть? Что это за адрес?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.11.2010, 17:06   #3
Renat060888
Новичок
Джуниор
 
Регистрация: 21.11.2009
Сообщений: 2
По умолчанию

А какая разница, какой адрес Если конкретно, то это адрес накристальной кучи памяти сигнального процессора, прога клепается в VisualDSP++. Но не в этом вопрос собственно

Пример:

Код:
int *p;
p = (int*)heap_malloc(3, 31 * sizeof(int));

int mpos[31] = {-1,1,1,-1,-1,-1,-1,1,1,1,-1,-1,1,1,-1,1,
	              1,1,1,1,-1,1,-1,-1,-1,1,-1,-1,1,-1,1
	           	 };
for(i = 0; i < 31; i++)
    p[i] = mpos[i];
НО: нужно без доп. массива и цикла перезаписи.

Была идея провернуть это через конструктор структуры для автоматической инициализации, но DSP зараза, не ест этот вариант:

Код:
typedef struct Mpos {

     short int mpos[31];

     Mpos() {

         short int temp[31] = {1,-1...1,1};

         memcpy(mpos, temp, sizeof(temp));

     }
} Mpos;
Renat060888 вне форума Ответить с цитированием
Старый 22.11.2010, 19:31   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,792
По умолчанию

Цитата:
НО: нужно без доп. массива и цикла перезаписи.
а-а-а извиняюсь где там у тебя допмассив то?
Я вижу только массив с "конктретными величинами (они известны)."
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VS 2008 C# - Инициализация массива обьектов kasper298 Помощь студентам 0 17.11.2009 23:40
[C++] Инициализация массива структур отдельно от объявления MariyaL Помощь студентам 0 30.09.2009 12:27
инициализация массива Arcueid1691 Паскаль, Turbo Pascal, PascalABC.NET 2 01.06.2009 02:36
Перемещение указателя на следующую запись Avalonix БД в Delphi 6 31.05.2008 11:13
Инициализация массива указателей. Непонятно !!! Adamant Общие вопросы C/C++ 2 05.11.2007 16:22