Я хочу написать функцию для чтения имени и возраста кого-либо и функцию для отображения его после использования указателей в качестве параметров.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void read(char **name, int *age)
{
printf("name: ");
scanf("%s", *name);
printf("age: ");
scanf("%d", age);
}
void write(char *name, int age)
{
printf("%s, %d\n", name, age);
}
int main(void)
{
char *name;
int age;
read(&name, &age);
write(name, age);
free(name);
return 0;
}
Когда я запускаю это, я получаю сообщение об ошибке: Process terminated with status -1073741819 (0 minute(s), 2 second(s))
.Это потому, что я не выделил никакой памяти для name
?Не могли бы вы объяснить, что я делаю не так?