구조체 변수 선언 및 초기화

구조체 정의 후 변수 선언

  • 문법
1
2
3
4
5
6
7
struct 구조체명 {
  자료형1 멤버이름1;
  자료형2 멤버이름2;
  ...
}

struct 구조체명 변수명1, 변수명2...;
  • 예시
1
2
3
4
5
6
struct Circle{
  float x, y;
  float radius;
}

struct Circle c;

구조체 정의와 동시에 변수 선언

  • 문법
1
2
3
4
struct 구조체명 {
  자료형1 멤버이름1;
  자료형2 멤버이름2;
} 변수명1, 변수명2, ...;
  • 예시
1
2
3
4
struct Circle {
  float x, y;
  float radius;
} c;

포인터를 이용한 구조체 변수 선언

  • 문법
1
2
3
4
struct 구조체명 {
  자료형1 멤버이름1;
  자료형2 멤버이름2;
} *포인터변수명;
  • 예시
1
2
3
4
struct Circle {
  float x, y;
  float radius;
} *pCircle;

포인터를 이용한 구조체 변수 선언은 뒤에서 자세히 다룬다.

구조체 초기화

  • 구조체 초기화는 “구조체 멤버들의 초기화” 로 보면 된다.
  • 구조체 멤버의 초깃값을 순서에 맞춰 나열할 수 있고
  • 구조체 멤버의 초깃값을 명시적으로 지정할 수도 있다.

초기화 방법 1 : 순서에 맞춰 나열

1
2
3
4
struct Circle {
  float x, y;
  float radius;
} c1 = {0.0f, 0.0f, 1.0f};

또는

1
2
3
4
5
6
struct Circle {
  float x, y;
  float radius;
};

struct Circle c = {0.0f, 0.0f, 1.0f};

초기화 방법 2 : 명시적으로 지정

1
2
3
4
5
6
7
8
struct Circle {
  float x, y;
  float radius;
} c1 = {
  .x = 0.0f,
  .y = 0.0f,
  .radius = 1.0f
};

Reference

C 프로그래밍 (김형근, 곽덕훈, 정재화 공저)
C 프로그래밍 강의 (방송통신대 - 이병래)

Comments