반응형
C에서 변수 이름 뒤에 콜론
참고페이지의 C코드 샘플입니다.
signed int _exponent:8;
'8'과 '8' 이전의 결장 자체의 의미는 무엇입니까?
좀 야합니다.A에서만 유효합니다.struct정의, 그리고 그것은 시스템이 당신의 정수에 단지 8비트만을 사용한다는 것을 의미합니다.
이것은 비트필드, 모호하고 잘못된 구조물의 특징입니다.이 정도면 다른 사람의 코드에서 비트 필드를 처리하기 위해 알아야 할 정보를 검색할 수 있습니다.자신의 코드에 관해서는 절대 비트 필드를 사용하지 마십시오.
편집: 잭의 요청에 따라 비트 필드는 자신의 비트 산술을 수행하는 것에 비해 상당한 단점이 있으며, 이점이 없습니다.그 중 몇 가지는 다음과 같습니다.
- 한 번에 하나의 비트 필드 요소만 복사, 비교, 직렬화 또는 병렬화할 수 있습니다.자신만의 비트 연산을 수행하면 한 번에 전체 단어를 연산할 수 있습니다.
- 비트 필드 요소에 대한 포인터는 절대 가질 수 없습니다.자신의 비트 산술을 사용하면 큰 단어에 대한 포인터와 단어 내의 비트 인덱스를 "포인트"로 가질 수 있습니다.
- C 구조를 디스크나 네트워크에 직접 읽거나 쓰는 것은 고정 크기 타입을 사용하고 엔디안을 아는 한 비트 필드 없이 절반만 휴대할 수 있습니다.그러나 비트 필드에 던지면, 더 큰 유형 내의 요소 순서는 물론 사용되는 전체 공간과 정렬이 주어진 CPU 아키텍처 내에서도 구현에 크게 의존하게 됩니다.
- C 사양에는 비트 필드 요소의 부호성이 예상했던 것과 다르게 허용되는 것보다 매우 이상한 규칙이 있으며, 이러한 규칙을 알고 있는 사람은 거의 없습니다.
단일 비트 플래그의 경우 비트 필드 대신 자신의 비트 산술을 사용하는 것이 완벽한 쉬운 방법입니다.포장해야 할 값이 더 크려면 비트 연산을 여기저기에 모두 적는 것이 너무 어렵다면 간단한 매크로를 작성합니다.
비트 필드 사양입니다.
라는 뜻입니다._exponentTakes only8조금씩 조금씩signed int일반적으로 보다 더 많은 시간이 소요됩니다.8비트. 일반적으로 비트 필드는 부호 없는 유형과 함께 사용됩니다.
IIRC, 컴파일러는 8비트에 맞지 않는 것이 입력되면 경고할 것입니다._exponent.
해당 문이 구조물 내부에 있을 경우 비트 필드를 의미합니다.
언급URL : https://stackoverflow.com/questions/3983943/colons-after-variable-name-in-c
반응형
'programing' 카테고리의 다른 글
| if-else 문을 XSLT에서 어떻게 구현합니까? (0) | 2023.10.24 |
|---|---|
| angularjs에서 입력[type=file]로 폼을 검증하는 방법 (0) | 2023.10.24 |
| 왜 sns로 sea born을 수입합니까? (0) | 2023.10.24 |
| 야생 비행에 전쟁 배치 19 (0) | 2023.10.24 |
| Twitter 부트스트랩 접이식(아코디언)에 열기/닫기 아이콘 추가 (0) | 2023.10.24 |