«pointer-arithmetic» 태그된 질문

18
배열의 경우 왜 a [5] == 5 [a]입니까?
Joel 이 C 프로그래밍 언어 (일명 : K & R)의 스택 오버플로 팟 캐스트 # 34 에서 지적한 바와 같이 C 에 배열의이 속성에 대한 언급이 있습니다.a[5] == 5[a] Joel은 포인터 산술로 인한 것이지만 여전히 이해하지 못한다고 말합니다. 왜 그렇a[5] == 5[a] 습니까?

8
C에서 void 포인터에 대한 포인터 산술
특정 유형 (예 int: char,, float..)에 대한 포인터 가 증가하면 해당 데이터 유형의 크기만큼 값이 증가합니다. 경우 void크기의 데이터에 대한 포인터하는 포인트가 x증가 점에, 어떻게 나올까요 x앞서 바이트? 컴파일러 x는 포인터의 가치 를 높이는 방법을 어떻게 알 수 있습니까?

3
이 코드는 sizeof ()를 사용하지 않고 어떻게 배열 크기를 결정합니까?
C 인터뷰 질문을 통해 다음과 같은 해결책으로 "sizeof 연산자를 사용하지 않고 C에서 배열의 크기를 찾는 방법은 무엇입니까?"라는 질문을 발견했습니다. 작동하지만 이유를 이해할 수 없습니다. #include <stdio.h> int main() { int a[] = {100, 200, 300, 400, 500}; int size = 0; size = *(&a + 1) - a; printf("%d\n", size); …

1
널 포인터에 0을 추가 할 수 있습니까?
널 포인터에 대해서는 포인터 산술이 허용되지 않는다는 것을 알고 있습니다. 그러나 다음과 같은 것이 있다고 상상해보십시오. class MyArray { int *arrayBegin; // pointer to the first array item, NULL for an empty array unsigned arraySize; // size of the array, zero for an empty array public: int *begin() const { …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.