반응형
포인터가 가리키는 int의 증가 값
나는이 int
포인터를 (즉, int *count
) 내가 사용에서 지적되는 정수 증가 할 것으로 ++
연산자를. 나는 내가 전화 할 것이라고 생각했다.
*count++;
그러나 "expression result unused" 라는 빌드 경고가 표시 됩니다. 나는 할 수있다 : 전화
*count += 1;
하지만 ++
연산자 사용법도 알고 싶습니다 . 어떤 아이디어?
++는 *와 동일한 우선 순위를 가지며 연관성은 오른쪽에서 왼쪽 입니다. 여기를 참조 하십시오. ++가 포인터 와 연관 되더라도 증분이 명령문의 평가 후에 적용 되기 때문에 훨씬 더 복잡해졌습니다 .
순서는 다음과 같습니다.
- 포스트 증가, 포스트 증가 포인터 주소 값을 임시로 기억하십시오.
- 비 증가 포인터 주소 역 참조
- count에 증가 된 포인터 주소를 적용하고 count는 이제 해당 유형의 엔티티에 대해 가능한 다음 메모리 주소를 가리 킵니다.
2 단계에서 역 참조 된 값을 실제로 사용하지 않기 때문에 경고가 표시됩니다. @Sidarth가 말한 것처럼 평가 순서를 강제하려면 괄호가 필요합니다.
(*ptr)++
을 사용해보십시오 (*count)++
. *count++
포인터를 다음 위치로 증가시킨 다음 간접적 (의도하지 않음)을 사용할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/3655728/increment-value-of-int-being-pointed-to-by-pointer
반응형
'program story' 카테고리의 다른 글
특정 유형의 파일에 대한 폴더 및 모든 하위 폴더 검색 (0) | 2020.11.16 |
---|---|
권한 파일이 프로비저닝 프로필에 지정된 것과 일치하지 않습니다. (0xE8008016) (0) | 2020.11.16 |
CSS 공급 업체 접두사 목록? (0) | 2020.11.15 |
indexedDB는 HTML5 로컬 저장소와 개념적으로 어떻게 다른가요? (0) | 2020.11.15 |
차단 대기열 및 다중 스레드 소비자, 중지시기를 아는 방법 (0) | 2020.11.15 |