Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
6 / 6 / 0
Регистрация: 21.09.2019
Сообщений: 35
1

Ошибка при объявлении переменной Структурного Типа

15.02.2020, 16:26. Просмотров 850. Ответов 3
Метки нет (Все метки)

Не могу понять: почему при инициализации переменной структурного типа происходит ошибка? (Expected expression before '{' line 18)

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <stdlib.h>
 
typedef struct
{
    char name[10];
    float price;
    char country[10];
    int weight;
    int temperature;
    char regulator[10];
    char design[10];
}iron;
 
int main()
{
    iron a[2];
    a[0] = {"aaaa",32.2,"bbbb",23,1,"fggfdg","sadfsd"};
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2020, 16:26
Ответы с готовыми решениями:

Ошибка в употреблении структурного типа
#include &lt;time.h&gt; #include &lt;stdio.h&gt; #include &lt;Windows.h&gt; struct TDate { int day, month,...

Ошибка в объявлении переменной типа bool — "bool undeclared"
Доброго времени суток. #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; void...

Инициализация переменной при объявлении
Здравствуйте! Есть 2 примера кода. 1-й: int a; int main() { a = 5; printf(&quot;%d&quot;,...

Ошибка при вводе переменной типа unsigned short
void main() { setlocale(LC_CTYPE, &quot;rus&quot;); unsigned short u; printf_s(&quot;Введите целое...

3
334 / 235 / 102
Регистрация: 26.03.2019
Сообщений: 407
15.02.2020, 16:52 2
C
1
2
3
4
int main()
{
    iron a[2] = { {"aaaa",32.2,"bbbb",23,1,"fggfdg","sadfsd"} };
}
0
1118 / 931 / 429
Регистрация: 25.12.2016
Сообщений: 3,030
15.02.2020, 16:53 3
Лучший ответ Сообщение было отмечено Sweetzter как решение

Решение

Нужно ещё сделать приведение типа:
C
1
a[0] = (iron) {"aaaa",32.2,"bbbb",23,1,"fggfdg","sadfsd"};
0
С чаем беда...
Эксперт CЭксперт С++
7925 / 3839 / 1056
Регистрация: 18.10.2014
Сообщений: 8,177
16.02.2020, 02:47 4
Цитата Сообщение от likehood Посмотреть сообщение
Нужно ещё сделать приведение типа:
C
1
a[0] = (iron) {"aaaa",32.2,"bbbb",23,1,"fggfdg","sadfsd"};
Это никакое не "приведение типа". Это синтаксис составного литерала.

Добавлено через 2 минуты
Цитата Сообщение от Sweetzter Посмотреть сообщение
Не могу понять: почему при инициализации переменной ...
В вашем коде нет никакой инициализации. Вы пытаетесь выполнить присваивание, а не инициализацию. Присваивание объекту структурного типа можно выполнить только из другого объекта такого же структурного типа.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2020, 02:47

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Ошибка при объявлении struct
Добрый день, господа и дамы. Возникла небольшая проблема при объявлении struct Вот такая...

Объявление символьной переменной value и указателя на символ pointer в одном объявлении
Запишите на языке С объявление символьной переменной value и указателя на символ pointer в одном...

Ошибка при объявлении переменной типа text в дизайнере форм
При объявлении файловой переменной типа text в дизайнере форм выдаёт ошибку &quot;Ожидался тип&quot;....

Указание типа переменной и ссылки при объявлении\инициализации
Здравствуйте! Возник такой вопрос-зачем нужно указывать тип ссылки при ее инициализации? При...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.