typedef struct{
int num;
char name[20];
} Student;
#include <stdio.h>
#include "define_header/student.h"
int main(void){
Student a = {315, "hong"};
printf("class : %d, name : %s\n", a.num, a.name);
return 0;
}
### 헤더 파일(`student.h`)
헤더 파일에서는 `Student`라는 이름의 구조체를 정의합니다. 이 구조체에는 두 멤버가 있습니다: `int` 타입의 `num`과 `char` 배열 타입의 `name[20]`. `num`은 학생의 번호를 저장하고, `name`은 학생의 이름을 저장합니다. 구조체 정의 앞에 `typedef` 키워드가 사용되어, 이후 `Student`라는 이름으로 이 구조체 타입을 직접 참조할 수 있게 합니다.
### 메인 파일
메인 파일에서는 먼저 `#include` 지시어를 사용해 헤더 파일을 포함시킵니다. 이를 통해 메인 파일에서 `Student` 구조체 타입을 사용할 수 있습니다.
그 다음, `Student` 타입의 변수 `a`를 선언하고 초기화합니다. 여기서 변수 `a`는 학생의 번호가 315이고 이름이 "hong"인 학생을 나타냅니다.
마지막으로, `printf` 함수를 사용하여 변수 `a`의 멤버 `num`과 `name`의 값을 출력합니다. 출력 형식은 "class : 번호, name : 이름"입니다.
### 컴파일과 실행
이 프로그램을 컴파일하고 실행하려면, 먼저 `student.h` 헤더 파일을 포함하는 메인 소스 파일을 작성해야 합니다. 그 후 컴파일러(예: gcc)를 사용하여 컴파일하고 실행 파일을 생성합니다. 예를 들어, 메인 파일이 `main.c`라면 다음과 같은 커맨드로 컴파일할 수 있습니다:
```
gcc main.c -o main
```
이 커맨드는 `main.c` 소스 파일을 컴파일하고 실행 가능한 파일 `main`을 생성합니다. 생성된 실행 파일을 실행하면, 초기화한 학생 정보가 화면에 출력됩니다.
'개념 > 혼자 공부하는 C언어' 카테고리의 다른 글
chapter 19) 메크로 함수를 사용한 프로그램 (0) | 2024.10.21 |
---|---|
chapter 19) #과 ##을 사용한 메크로 함수 (0) | 2024.10.20 |
chapter 19) 다양한 메크로명 사용 (0) | 2024.10.19 |
chapter 19) #pragma 지시자 (0) | 2024.10.18 |
chapter 19) #if, #ifdef, #else , #endif 를 사용한 조건부 컴파일 (2) | 2024.10.17 |