C 변수 선언 질문입니다.
글쓴이: lovejin0309 / 작성시간: 수, 2005/12/28 - 6:17오후
예전에 얼핏 설명을 들었던것 같은데 기억이 잘 안나네요.
다음과 같은 형태로 변수가 선언되어 있습니다. (이건 그냥 제가 임의대로 적어 놓은 것입니다.)
int main(){
int i:8;
}
이상한 형태이지 않나요? 정말 예전에 들어본 것 같은데 기억이 안나네요. ㅎㅎ
Forums:


bit field였던 거 같습니다. 저도 기억이 잘 안나네요.. :-(
bit field였던 거 같습니다. 저도 기억이 잘 안나네요.. :-(
----
Let's shut up and code.
bit field 맞습니다.구조체 안의 변수 선언 뒤에 ": 숫자
bit field 맞습니다.
구조체 안의 변수 선언 뒤에 ": 숫자" 를 넣어주면
그 변수는 해당 숫자의 비트 크기 만큼의 메모리를 사용하겠다는 의미입니다.
(위의 경우 i 변수는 8 bit 만을 사용하겠군요)
구조체가 차지하는 메모리는 확실히 줄어들겠지만,
일단 변수를 처리하는 코드보다 비트 단위 연산을 처리하는 코드가 더 길기 때문에
절대적으로 메모리가 더 적게 차지하는 것을 보장하는 것은 아니라고 알고 있습니다.
게다가 일반 변수에 접근하는 것보다 비트 필드에 접근하는 것이 더 느리기 때문에
속도 면에서도 큰 이득을 보지는 못합니다.
댓글 달기