1. 구조체의 변수의 초기화
구조체의 변수를 초기화 하려면 구조체 변수를 선언할 때
각 멤버에 대응하는 초기값을 { }안에 나열한다.
ex)
struct time {
int hour;
int min;
int sec;
} ;
struct time first = { 11, 3, 10 }
> hour = 11, min = 3, sec = 10 이 들어간다.
2. 구조체 간의 복사
동일한 구조체 형으로 선언된 구조체 변수는
구조체 단위로 모든 멤버들의 값을 복사할 수 있다.
구조체 변수 단위로 대입연산자('=')를 사용하면 멤버들이 1:1로 대응되어
값들이 한꺼번에 옮겨진다.
ex)
struct time {
int hour;
int min;
int sec;
} ;
struct time first = {11,3,10};
struct time second;
second = first;
> first hour = 11 min = 3 sec = 10의 값이 second의 hour =11 min = 3 sec = 10 에 대입
3. 중첩구조체
구조체 안에는 기본 자료형뿐만 아니라 구조체도 멤버로 가질수 있다.
ex)
struct subjects{
int kor;
int eng;
int mat;
};
struct sung{
char name[20];
struct subjects course;
int tot;
float avg;
};
ex의 메모리 할당은 다음과 같다.
중첩된 구조체의 특정 멤버를 참조하기 위해서는 도트연산자를 여러번 사용해야 된다.
ex) kor 에 85 넣기
struct subjects{
int kor;
int eng;
int mat;
};
struct sung{
char name[20];
struct subjects course;
int tot;
float avg;
};
sung data;
data.course.kor = 85;
구조체의 변수를 초기화 하려면 구조체 변수를 선언할 때
각 멤버에 대응하는 초기값을 { }안에 나열한다.
ex)
struct time {
int hour;
int min;
int sec;
} ;
struct time first = { 11, 3, 10 }
> hour = 11, min = 3, sec = 10 이 들어간다.
2. 구조체 간의 복사
동일한 구조체 형으로 선언된 구조체 변수는
구조체 단위로 모든 멤버들의 값을 복사할 수 있다.
구조체 변수 단위로 대입연산자('=')를 사용하면 멤버들이 1:1로 대응되어
값들이 한꺼번에 옮겨진다.
ex)
struct time {
int hour;
int min;
int sec;
} ;
struct time first = {11,3,10};
struct time second;
second = first;
> first hour = 11 min = 3 sec = 10의 값이 second의 hour =11 min = 3 sec = 10 에 대입
3. 중첩구조체
구조체 안에는 기본 자료형뿐만 아니라 구조체도 멤버로 가질수 있다.
ex)
struct subjects{
int kor;
int eng;
int mat;
};
struct sung{
char name[20];
struct subjects course;
int tot;
float avg;
};
ex의 메모리 할당은 다음과 같다.
중첩된 구조체의 특정 멤버를 참조하기 위해서는 도트연산자를 여러번 사용해야 된다.
ex) kor 에 85 넣기
struct subjects{
int kor;
int eng;
int mat;
};
struct sung{
char name[20];
struct subjects course;
int tot;
float avg;
};
sung data;
data.course.kor = 85;