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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2010, 10:47   #1
Артэс
Форумчанин
 
Регистрация: 05.06.2007
Сообщений: 529
По умолчанию массив в структуре

Код:
struct test {
char a[10];
char b[10];
} test_1;
однако такой способ присваения элементов массиву, компилятор не принимает:
Код:
test_1.a[]={1,2,3,4,5};
А без структуры работает =\
Артэс вне форума Ответить с цитированием
Старый 07.07.2010, 10:55   #2
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Цитата:
А без структуры работает =\
То есть вот это по-вашему должно работать?
Код:
char a[10];
a[] = {1,2,3 /*, ...*/};
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."

Последний раз редактировалось Syuf; 07.07.2010 в 11:07.
Syuf вне форума Ответить с цитированием
Старый 07.07.2010, 11:05   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А так подойдет?
Код:
struct test {
char a[10];
char b[10];
} test_1={"12345",""};
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 07.07.2010, 11:13   #4
Артэс
Форумчанин
 
Регистрация: 05.06.2007
Сообщений: 529
По умолчанию

да, спасибо, но это получилось как строка "12345"... а мне нужно именно числовым кодом задать, а не символом.
Артэс вне форума Ответить с цитированием
Старый 07.07.2010, 11:17   #5
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Ну, попробуйте так:
Код:
#include <cstring>

// ...

struct test {
char a[10];
char b[10];
} test_1={string(string(...) + static_cast<char>(...) + static_cast<char>(...)  + /* ... */),""};
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."
Syuf вне форума Ответить с цитированием
Старый 07.07.2010, 11:19   #6
Артэс
Форумчанин
 
Регистрация: 05.06.2007
Сообщений: 529
По умолчанию

ужас. Почему нельзя обойтись тем же способом, что и без структур?

a[10]={1,2,3,4,5};

что за такая особенность у структур, не позволяющая поступить так же, но с её элементами?

Последний раз редактировалось Артэс; 07.07.2010 в 11:22.
Артэс вне форума Ответить с цитированием
Старый 07.07.2010, 11:38   #7
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Инициализировать любой массив можно только при объявлении, а объявление такогого в структуре происходит в момент создания экземпляра этой структуры. Можете попробовать еще так, но я не уверен:
Код:
test a = {{'a', 'b', ...}/* char a[10]*/, {'a', 'b', ...}/* char b[10]*/}
А можете еще конструктор подобрать: (прототип)
Код:
test(size_t count /* кол-во аргументов */, char a, ...);
Принимающий переменное кол-во аргументов
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."

Последний раз редактировалось Stilet; 07.07.2010 в 11:55.
Syuf вне форума Ответить с цитированием
Старый 07.07.2010, 12:10   #8
Артэс
Форумчанин
 
Регистрация: 05.06.2007
Сообщений: 529
По умолчанию

Цитата:
Сообщение от Syuf Посмотреть сообщение
Инициализировать любой массив можно только при объявлении, а объявление такогого в структуре происходит в момент создания экземпляра этой структуры.
а test_1.a[10]={...} это уже получается обращение к готовому массиву...
Теперь понятно. Спасибо
Артэс вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обращение к структуре jey7 Общие вопросы C/C++ 2 07.01.2010 22:44
массив чисел в структуре. aqwerty Общие вопросы C/C++ 4 25.08.2009 15:31
Динамический массив в структуре Ch00kan0ff Общие вопросы C/C++ 0 07.04.2009 15:46
ОШИБКА в структуре Panterka Помощь студентам 7 19.12.2007 09:24
помогите: динамический массив в структуре tangar Общие вопросы C/C++ 4 28.12.2006 12:42