Мне нужно написать некоторые литералы в массив, но у меня есть только адрес массива, поэтому я делаю это, сначала создавая локальный массив, заполняя его литералами и вторыми скопируйте содержимое в целевой массив. Вот пример:Доступ к указателю с указателем на литерал
void example(char *array) {
char temp[] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08 };
memcpy(array, temp, sizeof(temp));
}
Это работает довольно хорошо, но я искал способ сделать то же самое в пределах одной строки вместо двух. Кто-нибудь знает, как это сделать?
Нет никаких преимуществ, чтобы сделать это на одной строке вместо двух ... ваш код уже идеален, когда дело доходит до читаемости и производительности. – Lundin
Одна строка: 'char temp [] = {0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08}; memcpy (массив, temp, sizeof (temp));' Просто удалите разрыв строки;) –
Хмм , .. ну, мне нужно будет получить доступ к многим указателям, но если другого решения не будет, я буду делать это таким образом каждый раз. – Lui