Не получается создать в структуре поле с именем (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);