Я новичок в программировании на Си.У меня проблемы с использованием функции printf.Когда я запускаю следующую программу, я получаю ошибку сегментации.Пожалуйста, скажите мне, что я делаю не так.Что на самом деле означает ошибка сегментации?
#include<stdio.h>
#include<stdlib.h>
typedef struct
{
char *name;
int rollnum;
int marks;
}
student_data;
int main()
{
student_data stud1;
student_data *ptr;
ptr = (student_data *)malloc(sizeof(student_data));
printf("\n NAME OF THE STUDENT: " );
scanf("%s", &ptr -> name);
printf("\n ROLL NUMBER OF THE STUDENT: " );
scanf("%d", &ptr -> rollnum);
printf("\n MARKS OF THE STUDENT: " );
scanf("%d", &ptr -> marks);
printf("\nPRINTING ROLL NUMBER %d", ptr -> rollnum);
printf("\nPRINTING MARKS %d", ptr -> marks);
printf("\nPRINTING NAME %s", ptr -> name);
}
-: output: -
ИМЯ СТУДЕНТА: ajish
ЧИСЛО РУЧКИ СТУДЕНТА: 2
ЗНАКИ УЧАЩИХСЯ: 60
ПЕЧАТАЮЩИЙСЯ НОМЕР РОЛИКА 2 ПЕЧАТНЫЕ ЗНАКИ 60 Ошибка сегментации