Re: Присваивание значений структурам (си)
От: Сыроежка  
Дата: 20.12.11 14:13
Оценка:
Здравствуйте, Bystrii_Lis, Вы писали:

B_L>Не вдаваясь в детали для чего и зачем так нужно, но хочется, чтобы было Красиво.

B_L>Хочу присвоить значения массиву структур, или одному из элементов массива, но сразу заполнить всю структуру, не обращаясь к её полям. Делаю, например, так:
B_L>
B_L>struct tres {
B_L>int k;
B_L>char words[10];
B_L>};

B_L>int main () {
B_L>struct tres treses[5];

B_L>treses={1,"a",2,"b",3,"c",4,"d",5,"e"};
B_L>return 0;
B_L>}
B_L>


B_L>Компилятор ругается:


B_L>

B_L>"ttt.c", line 9: syntax error before or at: {
B_L>"ttt.c", line 9: warning: syntax error: empty declaration


B_L>Уже я и нагуглился, и наперепробовал разных вариантов и комбинаций — а всё равно очень хочется присвоить сразу всеё структуре. Не подскажете? Ну, наверняка же можно это как-то через указатель на этот массив реализовать...


Если я правильно вас понял, вы ищите путь, как присвоить значение структуре или элементу массива структур уже после объявления объекта, но схожим образом, как это деоается при инициализации объекта. Для этих целей вы можете воспользоваться составным литералом, если ваш компилятор поддерживает стандарт языка С99.
Меня можно встретить на www.cpp.forum24.ru
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.