이것은 내가 며칠 동안 힘들어했던 숙제 과제의 일부입니다. 그래서 우리는 지금이 구조체C에서 포인터로 새로운 구조체 인스턴스화하기
typedef enum { male = 0, female } gender;
struct person {
char name[30];
gender genderValue;
int age;
float weight;};
을 정의, 우리는이 기능
int add(char* name, char* genderValueString, int age, float weight){}
주어집니다 그리고 우리는 그 함수 내에서 새로운 사람을 구성하라는 메시지가 표시됩니다. 다른 방법을 시도했지만 계속 오류가 발생하고 이름을 올바르게 알 수 없습니다.
struct person newperson = {.name = *newname, //...rest of code..};
첫 번째 문자 만 읽고 나머지는 무시합니다. 새 사람에게 전달 된 값을 얻으려면 어떻게해야합니까?
이 중 하나가 작동하지 않습니다
는char newname[30];
strcpy_s(newname, 30, name);
struct person newperson = { .name = newname //...}
C에서'char' 배열 (또는 "문자열")을 복사하려면 각'char'를 개별적으로 반복하고 복사해야합니다. – ray
'newname'과'.name = newname'을 꺼내고 이니셜 라이저 뒤에'.name' 안에'strcpy'을 사용하십시오 –