사용자 구조체의 배열이 필요합니다.구조체를 C로 캐스팅하십시오.
struct user {
char *username;
};
struct user users[10]; //Array of user structs
int main(int argc, char **args) {
int initUsersArray();
char *username = "Max";
addToUsersArrry(username);
}
int addToUsersArrry(username) {
int i;
i = 0;
struct user tmp;
for(i;i<10;i++) {
if(users[i] != NULL)
if(strcmp(*users[i].username,username)==0)
return -1;
}
i = 0;
for(i;i<10;i++) {
if(users[i] = NULL) {
users[i]=tmp;
users[i].username=username;
return 1;
}
}
}
int initUsersArray() {
int i;
i=0;
struct user tmp;
for(i;i<10;i++) {
users[i] = (struct user*) calloc(1,sizeof(tmp));
}
}
내 첫 번째 질문은 내가했던 것처럼 NULL로 사용자의 배열을 초기화하기 위해서 올바른 방법 인 경우이다. 두 번째 문제는 * users [i] .username 및 특정 위치에 사용자를 가져 오거나 설정하려는 코드의 다른 부분이 작동하지 않는다는 것입니다. 감사합니다.
코드를 올바르게 복사 했습니까? –
한 줄을 업데이트했지만 나머지 코드는 올바르게 수정되었습니다. 나는 C 언어에 익숙하지 않기 때문에 "이상한"코드를 작성하면 놀라지 않을 것입니다. – user1324258
빈 문자열 또는 NULL 대신 '\ 0'을 사용해야합니다 (예 : ''). – Thor