Не получается создать в структуре поле с именем (char[]) чтобы компилировалось без warning - C (СИ)
Формулировка задачи:
Всем привет.
Потребовала жизнь немного разобраться с С, (до этого были 1С и совсем немножко С#), и я засел ковырять некий курс. Дошел до тестовой задачи: дана структура на несколько полей, функция создания, удаления и печати значений этих полей. Все на указателях.
Задание: переписать без указателей.. и тут я встрял
Написал нечто такое (укоротил уже до предела):
Пытаюсь компилировать - стоит мат до потолка:
test.c:14:2: warning: missing braces around initializer [-Wmissing-braces]
test.c:14:2: warning: (near initialization for ‘example.name’) [-Wmissing-braces]
test.c:14:2: warning: initialization makes integer from pointer without a cast [enabled by default]
test.c:14:2: warning: (near initialization for ‘example.name[0]’) [enabled by default]
Может кто объяснить, что я делаю не так? Я что, тут сильно косячу?
Хочется избавиться от всех предупреждений..
Пытался читать http://stackoverflow.com - пока не помогает.
ps
компилятор
gcc version 4.7.2 (Debian 4.7.2-5)
#include <stdio.h> #include <string.h> struct test { char name[20]; }; struct test create (char somename[]) { struct test example = { strcpy (example.name, somename) }; return example; } int main (int argc, char *argv[]) { struct test ololo = create("ololo"); printf("Struct name: %s\n", ololo.name); return 0; }
Решение задачи: «Не получается создать в структуре поле с именем (char[]) чтобы компилировалось без warning»
textual
Листинг программы
struct test example; strcpy (example.name, somename);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д