C의 연산자 유형
C의 타입은 정말 연산자입니까?
C에는 다형이 없기 때문에 런타임에 할 일이 없다고 생각하고 있습니다.즉, 타입 오브에 대한 답은 컴파일 시에 알 수 있습니다.(컴파일 시 알 수 없는 타입의 사용은 생각할 수 없습니다.)따라서 연산자라기보다는 컴파일 시간 지시어인 것 같습니다.
(프로세서) 런타임(GCC)을 사용하는 타입이 있습니까?
부터typeof는 컴파일러 확장자이며, 실제로는 정의되어 있지 않지만, C의 전통에서는 연산자일 것입니다.sizeof그리고._Alignof연산자로도 볼 수 있습니다.
또한 C에는 런타임에만 결정되는 동적 유형이 있습니다. 가변 수정(VM) 유형입니다.
size_t n = strtoull(argv[1], 0, 0);
double A[n][n];
typeof(A) B;
실행 시에만 확인할 수 있습니다.
2021년에 추가: 다음과 같은 가능성이 있습니다.typeof과 같은 규칙을 가지고sizeofC23이 됩니다.
GNU 확장자입니다.한마디로 같은 타입의 오브젝트를 선언하는 편리한 방법입니다.예를 들어 다음과 같습니다.
int x; /* Plain old int variable. */
typeof(x) y; /* Same type as x. Plain old int variable. */
완전히 컴파일 시에 동작합니다. 주로 매크로에서 사용됩니다.매크로에 의존하는 유명한 예 중 하나는typeof이container_of.
이것은 GCC 컴파일러의 C 확장입니다.http://gcc.gnu.org/onlinedocs/gcc/Typeof.html 를 참조해 주세요.
연산자가 아니라 키워드입니다.
런타임 매직은 하지 않습니다.
이 확장자를 사용해야 하는 한 가지 경우 익명 구조의 포인터를 가져옵니다.예를 들어 이 질문을 확인하실 수 있습니다.
언급URL : https://stackoverflow.com/questions/12081502/typeof-operator-in-c
'source' 카테고리의 다른 글
| Vuex: 디스패치된 액션을 액션 내에 올바르게 추가하는 방법 (0) | 2022.08.31 |
|---|---|
| Vue 2에서 FCM 푸시 알림 수신 서비스 워커를 등록하는 방법 (0) | 2022.08.31 |
| 마운트된 vue 구성 요소에서 모멘트 js가 작동하지 않는 이유는 무엇입니까? (0) | 2022.08.31 |
| vuex 상태를 통해 열려 있는 부트스트랩-vue 모드 관리 (0) | 2022.08.31 |
| vuejs에서 vuex(디스패치) 오류 422가 발생하였습니다. (0) | 2022.08.31 |