Не получается создать в структуре поле с именем (char[]) чтобы компилировалось без warning - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Всем привет. Потребовала жизнь немного разобраться с С, (до этого были 1С и совсем немножко С#), и я засел ковырять некий курс. Дошел до тестовой задачи: дана структура на несколько полей, функция создания, удаления и печати значений этих полей. Все на указателях. Задание: переписать без указателей.. и тут я встрял Написал нечто такое (укоротил уже до предела):
  #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;                                                                                                 
  }
Пытаюсь компилировать - стоит мат до потолка: 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)

Решение задачи: «Не получается создать в структуре поле с именем (char[]) чтобы компилировалось без warning»

textual
Листинг программы
struct test example;                                                       
strcpy (example.name, somename);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5
Похожие ответы