sizeof 연산자
sizeof
연산자는 데이터 타입이나 표현식의 크기를 바이트 단위로 반환합니다.
기본 사용법
sizeof와 포인터
sizeof와 구조체
주의 : 구조체의 크기는 멤버들의 크기 합과 다를 수 있습니다. 이는 메모리 정렬(alignment) 때문입니다.
sizeof의 주의사항
sizeof
는 컴파일 시간에 평가되므로, 동적으로 할당된 메모리의 크기는 알 수 없습니다.
- 배열이 함수 인자로 전달될 때,
sizeof
는 포인터의 크기를 반환합니다.
조건 연산자 ?:
조건 연산자 ?:
는 C++에서 유일한 삼항 연산자입니다.
기본 문법
condition이 true
면 expression1이, false
면 expression2가 평가됩니다.
사용 예시
중첩 사용
조건 연산자는 중첩해서 사용할 수 있지만, 가독성이 떨어질 수 있습니다.
주의사항
- 과도한 사용은 코드의 가독성을 해칠 수 있습니다.
- 복잡한 조건은 if-else 문을 사용하는 것이 좋습니다.
콤마 연산자 ,
콤마 연산자는 여러 표현식을 하나의 표현식으로 결합합니다.
기본 사용법
for 루프에서의 사용
주의사항
- 연산자 우선순위가 가장 낮습니다.
- 과도한 사용은 코드의 가독성을 해칠 수 있습니다.
typeid 연산자
typeid
연산자는 객체의 타입 정보를 반환합니다.
주의 : typeid
의 결과는 컴파일러에 따라 다를 수 있습니다.
연습 문제
- 다양한 데이터 타입
int
, char
, float
, double
, long long
의 크기를 출력하는 프로그램을 작성하세요.
- 조건 연산자를 사용하여 세 수 중 최대값을 찾는 프로그램을 작성하세요.
- 콤마 연산자를 사용하여 1부터 10까지의 숫자 중 짝수만 출력하는 for 루프를 작성하세요.
typeid
연산자를 사용하여 사용자 정의 클래스의 타입 정보를 출력하는 프로그램을 작성하세요.
sizeof
연산자를 사용하여 구조체의 크기와 그 멤버들의 크기 합의 차이를 계산하는 프로그램을 작성하세요.
참고자료