배열은 기본적으로 여러 개의 값을 저장할 수 있다.
축구 선수의 데이터를 저장해야 한다고 가정하면 이름부터 패스 성공률, 슛 성공률, 득점 등 여러 데이터를 저장해야 한다.
그러나 배열은 여러 값을 저장할 순 있지만 데이터 형이 모두 같아야 한다는 특징이 있다.
이와 같은 기능을 수행할 수 있는 것이 구조체이다.
구조체를 사용하면 관련된 정보를 묶어서 저장하고 사용할 수 있다.
(추후에 나오는 class와 비슷하지만 access specifier인 public, private, protected 기능을 사용할 수 없다. 이것이 차이점.)
struct soccerplayer
{
char name[20];
float passsuccess_rate;
int backnumber;
}
이렇게 구조체를 선언하고 멤버 변수를 정의한다.
name은 soccerplayer형의 구조체 변수라고 한다.
struct soccerplayer
{
char name[20];
//물론 string 사용 가능하다.
float passsuccess_rate;
int backnumber;
}
soccerplayer son = {"son", 89.12, 7};
soccerplayer son {"son", 89.12, 7};
son.name = "son";
c++11 부터 이렇게 구조체를 초기화 할 수 있다.
또한 '=' 표시를 생략해도 된다.
멤버 연산자(.)를 통해서 개별 멤버에 직접 접근할 수도 있다.
'C++' 카테고리의 다른 글
C++ / 5. string 클래스 (0) | 2023.12.18 |
---|---|
C++ / 4. array 배열 (0) | 2023.12.15 |
C++ / 3. const (0) | 2023.12.14 |
C++ / 2. #include 와 iostream 파일 (0) | 2023.12.14 |
C++ / 1. main() (메인 함수) 의미 (0) | 2023.12.14 |