У меня есть некоторые проблемы. Я создал массив структур. и я хочу добавить возраст и имя в список (массив), но если я добавлю значения. оба списка [0], а список [1] - те же значения, что и имена, не включены. пожалуйста, помогите мне ... мой код неправильный?Я хочу добавить некоторые значения в struct
благодаря
#import <Foundation/Foundation.h>
typedef struct User {
char* userName;
int userAge;
}User;
int count;
void list();
void addUserInToList(User* db, int age, char* name);
main() {
count = 0;
int age ;
char name[5] ;
User list [] = {
};
for (int i = 0; i<2; i++) {
NSLog(@"Name Please : ");
scanf("%s",name);
NSLog(@"Age Please :");
scanf("%d",&age);
addUserInToList(&list[count], age, name);
count++;
}
NSLog(@"Check :%d :%s",list[0].userAge,list[0].userName);
NSLog(@"Check :%d :%s",list[1].userAge,list[0].userName);
}
void addUserInToList(User* db, int age, char* name) {
db->userAge = age;
db->userName = name;
}
Мне нужно использовать функцию strcpy? и malloc? есть ли способ решить эту проблему без использования malloc и strcpy? –
@yongjoonoh: Варианты, предоставленные Сантошем и Майком, в основном являются единственными опциями, которые у вас есть. –
@yongjoonoh: Чтобы избежать использования malloc, используйте массив, предложенный Майком в нижнем ответе. Чтобы избежать использования strcpy, выполните свою собственную функцию копирования строк или используйте memcpy. –