Я нуб, борюсь с C. Мне трудно оборачивать голову указателями, стрелками ->
и точечными .
обозначениями.Я работаю над очень простой программой, которая имеет 1 структуру, но я не уверен, как заставить пользователей вводить строки без использования заголовка <cs50.h>
(что мне нужно понять для более сложной проблемы, я также пытаюсь обернуть головувокруг).
//#include <cs50.h>
#include <stdio.h>
#include <string.h>
// create a struct, call it pupils
typedef struct
{
char *name;
char *dorm;
}
pupils;
int main(void)
{
// Allocate space for students - generally dynamic, here static
int enrollment = 2;
// create variable 'idinfo', which contains (enrollment) number of structs of type pupils
pupils idinfo[enrollment];
// Prompt for students' names and dorms
for (int i = 0; i < enrollment; i++)
{
// Not the way to do this given various error codes.....
char idinfo[i].Name[20];
char Dorm[20];
// gets idinfo[i].Name
scanf("%s", idinfo[i].Name);
//idinfo[i].name = printf("%s", Name);
// Below syntax works fine when <string.h> header included
idinfo[i].dorm = get_string("Dorm: ");
}
// Print students' names and dorms
for (int i = 0; i < enrollment; i++)
{
printf("%s is in %s.\n", idinfo[i].name, idinfo[i].dorm);
}
}