1) 구조체의 활용 예제

 

01   #include <stdio.h>
02   #include <stdlib.h>
03   #include <string.h>
04   #define SIZE 5   
05 
06   typedef struct student{
07       int std_id;
08       char name[20];
09   } STUDENT;
10
11   void nameChange(STUDENT sname)
12   {
13       char* tname= s.name.name;
14       printf("변경할 이름을 입력하시오 : ");
15       scanf("%s",tname);
16       strcpy(sname.name, tname);
17   }
18
19   int _tmain(int argc, _TCHAR* argv[])
20   {
21       STUDENT std = { 20150001, "홍길동" };
22       printf("학생번호 : %d\n학생이름 : %s \n", std.std_id, std.name);
23       nameChange(std);
24       printf("학생번호 : %d\n학생이름 : %s \n", std.std_id, std.name);
25       system("pause");
26       return 0;
27   }

 

이름이 바뀌지 않았습니다. 구조체 포인터로 바꿔봅시다.

 


01   #include <stdio.h>
02   #include <stdlib.h>
03   #include <string.h>
04   #define SIZE 5   
05 
06   typedef struct student{
07       int std_id;
08       char name[20];
09   } STUDENT;
10
11   void nameChange(STUDENT *sname)
12   {
13       char* tname= s.name -> name;
14       printf("변경할 이름을 입력하시오 : ");
15       scanf("%s",tname);
16       strcpy(sname -> name, tname);
17   }
18
19   int _tmain(int argc, _TCHAR* argv[])
20   {
21       STUDENT std = { 20150001, "홍길동" };
22       printf("학생번호 : %d\n학생이름 : %s \n", std.std_id, std.name);
23       nameChange(&std);
24       printf("학생번호 : %d\n학생이름 : %s \n", std.std_id, std.name);
25       system("pause");
26       return 0;
27   }

 

구조체 포인터 사용예

구조체 포인터를 잘 활용하면 프로그램 성능을 향상시킨다.

 

예제를 연습해 봅시다