반응형
포인터로 붕괴되는 배열에 대한 예외?
나는 "대부분의 경우 배열 이름이 포인터로 붕괴된다"는 많은 포스트에서 보았다.
배열 이름이 첫 번째 요소에 대한 포인터로 붕괴되지 않는 경우 / 표현식을 알 수 있습니까?
확실한.
C99에는 세 가지 기본 사례가 있습니다.
&
(address-of) 연산자 의 인수 일 때 .sizeof
연산자 의 인수 일 때 .이 유형의 캐릭터 문자의 경우
char [N + 1]
또는 유형의 넓은 문자열 리터럴wchar_t [N + 1]
(N
같이 배열을 초기화하는 데 사용되는 문자열의 길이)char str[] = "foo";
또는wchar_t wstr[] = L"foo";
.
또한 C11에서 새로 도입 된 alignof
연산자는 배열 인수가 포인터로 붕괴되는 것을 허용하지 않습니다.
C ++에는 참조로 전달되는 경우와 같은 추가 규칙이 있습니다.
참조 URL : https://stackoverflow.com/questions/17752978/exceptions-to-array-decaying-into-a-pointer
반응형
'IT TIP' 카테고리의 다른 글
실행 파일에“git update-index --chmod = + x”자동 적용 (0) | 2021.01.08 |
---|---|
JavaScript는 왜 비교 연산자보다 크거나 작을까요? (0) | 2021.01.08 |
상자 속성은 무엇이며 어디에 추가합니까? (0) | 2021.01.08 |
콘텐츠 보안 정책 : 페이지 설정이 리소스로드를 차단했습니다. (0) | 2021.01.08 |
C—는 LLVM과 어떻게 비교됩니까? (0) | 2021.01.08 |