dönen bu başlık dosyası var: C - Hata bir yapı
typedef char *cadena;
typedef struct user_t user;
struct user_t {
cadena login;
cadena name;
};
typedef struct user_t user_t;
Şimdi ana programda bunu: adı doğru gösterdi printf() createrUser yılında
#include "HeaderFile.h"
user createUser();
main() {
user usuario;
usuario = createUser();
printf("%s\n", usuario.name); //This DOES NOT work
exit(0);
}
user createUser() {
user usAux;
char in_login[50], in_name[50];
printf("\nWrite the user");
scanf("%s", &in_login);
usAux.login = in_login;
printf("\nWrite the name");
scanf("%s", &in_name);
usAux.name = in_name;
printf("%s\n", usAux.name); //This WORK
return usAux;
}
, ancak ikinci baskıda (üst baskı) sadece "@" gösterir. Teoride bir kullanıcı değişkeni yaratıyorum ve onu aynı tip bir değişkene atayım, ancak süreçte bir değişiklik gibi görünüyor.
Herhangi bir fikrin var mı?
Ama yapı içine verileri taklit ediyorum. In_login veya in_name ile ne olduğu önemli değil. Yok hayır? – Argos
1) İşaretçi yazmıyor. 2) otomatik değişkenler, blokları bırakıldığında yayından kaldırılır. 3) Neden dizinin 'struct' içinde kendisi yok? 4) Eğer bir işaretçi bir dizi ise, "dizi" olarak adlandırılır, "işaretçi" 5 değil. İşaretçiler, diziler ve diğerleri hakkında bir C kitap okuyun. – Olaf
Damn, @ user3121023 haklısınız. Çok sağolun. Java TT – Argos