Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > struct: incompatible types in assigment


Автор: Entwickler 2.7.2008, 18:22
есть структура: 
Код

struct student {
       int mNumber;
       char name[25];
       int semester;
       };

int main(int argc, char *argv[])
{
  struct student std1;
  
  std1.name = "Max"; 

}

пытаюсь присвоить переменной name имя типо Max а оно ругаеться!!! почему? такое выражение работает: std1.semester = 7;
Заранее спасибо!!! ; - )

Автор: anatox91 2.7.2008, 18:43
ошибки в студию

Автор: creatorcode 2.7.2008, 19:17
Код

strcpy(std1.name,"Max");

Автор: JasonT 3.7.2008, 12:32
вместо:
Код

char name[25];


надо:
Код

char *name;

после объявления переменной:
Код

stdl.name=(char*)calloc(25,1);

перед завершением:
Код

free(stdl.name);

и присваивать:
strcpy(stdl.name,"Max");

в твоем случае надо побуквенно присваивать:
Код

char[0]='М';
char[1]='a';
char[2]='x';

Автор: JackYF 3.7.2008, 17:25
Цитата(JasonT @  3.7.2008,  11:32 Найти цитируемый пост)
в твоем случае надо побуквенно присваивать:

не надо, а можно

Цитата(JasonT @  3.7.2008,  11:32 Найти цитируемый пост)
stdl.name=(char*)calloc(25,1);

также можно malloc и new использовать

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)