쉽게 풀어쓴 C언어 Express 13장 Summary
13장 Summary
구조체와 배열의 차이점은 묶는 자료형들의 일치여부이다.
구조체는 키워드 struct으로 선언하고 공용체는 union, 열거형은 enum으로 선언한다.
구조체의 선언만으로 변수가 만들어지는가? 아니다. 따로 변수의 선언이 필요하다
구조체를 가리키는 포인터 p를 통하여 구조체 안의 변수 x를 참조하는 수식은
(*p).x 또는 p->x이다.
원본 구조체를 포인터로 함수에 전달하는 경우, 원본 구조체를 훼손하지 않게 하려면 어떻게 하면 되는가? const 키워드가 포인터 앞에 있으면 이 포인터가 가리키는 구조체의 값을 변경하려고 하면 오류메시지가 뜬다. 즉 원본수정이 불가능하게 되어 원본이 훼손되지 않는다
union data{ double d; }; |
enum color { red, green, blue}; enum color favorite = red; |
enum 은 정수형 상수값들을 나열해 놓은 자료형이다.
#define 대신에 열거형을 사용하는 장점은 무엇인가? 특정한 숫자 대신 기호를 사용함으로써 프로그램의 이해도를 향상 시킬 수 있고, 변수가 열거된 값 이외의 값을 취하는 것을 막아서 오류를 줄여준다
typedef long int BIGINT; BIGINT i; |
새로운 자료형을 정의하기 위하여 사용되는 키워드는 typedef이다.