Structure memory allocation

Write a program to allocate memory to a structure pointer and access it through a pointer.

#include<stdio.h>
#include<stdlib.h>
struct Person
{
	char name[10];
	int age;
	float salary;
};
int main()
{
	struct Person *p;
	p = (struct Person*)malloc(sizeof(struct Person));
	printf("Enter Name of a Person = ");
	scanf("%[^\n]",p->name);
	printf("Enter Age of a Person = ");
	scanf("%d",&p->age);
	printf("Enter Salary of a Person = ");
	scanf("%f",&p->salary);
	printf("Name = %s\nAge = %d\nSalary = %f\n",p->name,p->age,p->salary);
	free(p);
	p = NULL;
	return 0;
}

Output

Enter Name of a Person = Joe
Enter Age of a Person = 23
Enter Salary of a Person = 32536
Name = Joe
Age = 23
Salary = 32536.000000