C에서 상속을 시뮬레이트하고 있지만 언어에 익숙하지 않습니다. 아래 코드 중 일부입니다. Visual Studio에 emp.name=n
에 대한 오류 메시지가 표시됩니다.문자열을 편집하는 방법 (C 구조체)
표현식은 수정 가능 한 값이어야합니다.
어떻게 수정할 수 있습니까?
typedef struct {
char name[20];
double salary;
} Employee;
Employee newEmployee(char n[], double s)
{
Employee emp;
emp.name=n;
emp.salary=s;
return emp;
}
아야, 'strncpy' 제발! – mvds
'strncpy (emp.name, n, sizeof (emp.name) -1);'더 좋을 것이고 널 종료를 보장하기 위해서'emp.name [sizeof (emp.name) -1] = '\ 0'; '을 추가해야 할 것이다. –