// PointersAndStructures.cpp : Defines the entry point for the console application. // #include "stdafx.h" struct student { int id; int grade; float gpa; }; struct student s1, s2, s3, temp; int _tmain(int argc, _TCHAR* argv[]) { s1.id = 25342; s1.grade = 9; s1.gpa = 3.655; s2.id = 27882; s2.grade = 12; s2.gpa = 3.220; s3.id = 12663; s3.grade = 11; s3.gpa = 2.709; printf("Student Id: Grade Level: GPA:\n\n"); printf("s1: %8d %4d %5.3f\n", s1.id, s1.grade, s1.gpa); printf("s2: %8d %4d %5.3f\n", s2.id, s2.grade, s2.gpa); printf("s3: %8d %4d %5.3f\n", s3.id, s3.grade, s3.gpa); printf("\n\nNow, we swap students 1 and 2\n\n"); temp.id = s1.id; temp.grade = s1.grade; temp.gpa = s1.gpa; s1.id = s2.id; s1.grade = s2.grade; s1.gpa = s2.gpa; s2.id = temp.id; s2.grade = temp.grade; s2.gpa = temp.gpa; printf("Student Id: Grade Level: GPA:\n\n"); printf("s1: %8d %4d %5.3f\n", s1.id, s1.grade, s1.gpa); printf("s2: %8d %4d %5.3f\n", s2.id, s2.grade, s2.gpa); printf("s3: %8d %4d %5.3f\n", s3.id, s3.grade, s3.gpa); printf("Now, using pointers:\n\n"); struct student *pointer1, *pointer2, *pointer3, *temp_ptr; pointer1 = &s1; pointer2 = &s2; pointer3 = &s3; printf("Student Id: Grade Level: GPA:\n\n"); printf("s1: %8d %4d %5.3f\n", pointer1->id, pointer1->grade, pointer1->gpa); printf("s2: %8d %4d %5.3f\n", pointer2->id, pointer2->grade, pointer2->gpa); printf("s3: %8d %4d %5.3f\n", pointer3->id, pointer3->grade, pointer3->gpa); printf("\n\nNow, we swap students 2 and 3\n\n"); temp_ptr = pointer2; pointer2 = pointer3; pointer3 = temp_ptr; printf("Student Id: Grade Level: GPA:\n\n"); printf("s1: %8d %4d %5.3f\n", pointer1->id, pointer1->grade, pointer1->gpa); printf("s2: %8d %4d %5.3f\n", pointer2->id, pointer2->grade, pointer2->gpa); printf("s3: %8d %4d %5.3f\n", pointer3->id, pointer3->grade, pointer3->gpa); return 0; }