IT TIP

포인터로 붕괴되는 배열에 대한 예외?

itqueen 2021. 1. 8. 22:37
반응형

포인터로 붕괴되는 배열에 대한 예외?


나는 "대부분의 경우 배열 이름이 포인터로 붕괴된다"는 많은 포스트에서 보았다.
배열 이름이 첫 번째 요소에 대한 포인터로 붕괴되지 않는 경우 / 표현식을 알 수 있습니까?


확실한.

C99에는 세 가지 기본 사례가 있습니다.

  1. &(address-of) 연산자 의 인수 일 때 .

  2. sizeof연산자 의 인수 일 때 .

  3. 이 유형의 캐릭터 문자의 경우 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

반응형