본문 바로가기
코스웨어/13년 스마트컨트롤러

5월 13일 수업 정리 - 임기준

by 알 수 없는 사용자 2013. 5. 20.
728x90
반응형

13.1 열거형

열거형은 예약어 enum을 사용하여 정의하며, 형식은 다음과 같다.

enum type_name

{

sun,

mon

};

열거 리스트엔 자료형을 적지 않는다 모든 열거 리스트는 int이다.

열거 리스트의 초기값을 지정하지 않으면 0부터 1식 증가한다.

열거 리스트의 초기값을 임의로 정할수 있다.

enum의 사용 예




①enum 사용 열거리스트엔 자료형을 적지 않는다 초기값이 명시되지 않았으므로 초기값은 위에서부터 0부터 1씩 증가한다

②2차원 배열이다 2차원 배열에 enum의 마지막에 있는 DAY_END를 삽입해서 enum의 크기에 따라 2차원 배열의 크기도 자유롭게 늘릴수있게 했다.

※이때 대,소문자의 검색을 자유롭게 하기 위해 tolower 란 함수도 사용해 보았습니다.

13.2 공용체

공용체는 선언이나 사용방법이 구조체와 유사하지만 자료형이 다른 멤버들이 같은 메모리를 공유한다는 점이 다르다


 78

56 

34 

12 

==> var.a 

cd

ab 

==> var.b

 ef

==> var.c

ef

ab 

34 

12 

==> 멤버끼리 같은 메모리를 공유해서 최종적인 메모리안의 모습

 cd

ab 

 ef

ef

ab 



ef 

이렇게 공용체는 자료형이 다른 멤버들이 같은 메모리를 공유함

13.3 const

const는 변수나 인수의 선언에서 사용된다

①const int *p1 = &A;

②int const *p2 = &A;

③int *const p3 = &A;

④const int *const p4 = &A;

⑤const int const *p5 = &A;

⑥int const *const p6 = &A;

위에 중에 ⑤번은 틀린 문법이다 이유는 const는 형용사로써 다른것에 영향을 미치는데 ⑤하나의 포인터에 두개의 const가 영향을 주므로 틀린 문법이다.

13.4 비트 연산자

연산자

기능 

수식예 

수식의 의미 

 &

논리곱 

a & b 

a  와 b의 논리곱

|

논리합 

a | b 

a 와 b의 논리합 

 ^

배타적 논리합 

a ^ b 

a 와 b의 배타적 논리합 

 ~

비트 반전 

~a 

a 의 각 비트를 반전

<<

좌측이동 

a << 2 

a의 각 비트를 2자리씩 좌측이동 

 >>

우측이동 

a >> 2 

a의 각 비트를 2자리씩 우측이동 

13.5 조건 연산자

선택문이 간단한 경우 if-else문 대신 조건 연산자를 이용할수 있다.

수식1 ? 수식2 : 수식3

수식1에서 참이면 수식2를 거짓이면 수식3이 실행됨

728x90