C++을 배우고 있고 연습 문제 중 하나는 포인터를 사용하여 배열의 모든 요소를 0으로 설정하는 것입니다.이 방법은 포인터를 증가 시켜서 어떻게하는지 잘 모릅니다 내 IDE 로그가 과 * 사이의 비교가 금지되어 있다고했기 때문에 배열의 다음 위치로 이동합니다. 나는 내가 잘못 가고있는 곳을 더 잘 이해할 수 있도록 예제로 작은 스 니펫 만 필요합니다. I 만든 배열 형 INT이며 코드는 시작 &array[0]
및 포인터에 대한 포인터를 생성 1,2,3,4- 5 개 이루어진 요소와 제배열의 모든 요소를 0으로 설정하는 방법
답변
int array[5] = {1, 2, 3, 4, 5};
for(int *i = &array[0], *end = &array[5]; i != end; i++)
*i = 0;
단일 차원을 갖는다 끝을지나 한 위치로 이동 &array[5]
그런 다음 배열을 통해 포인터를 이동하여 각 요소를 0으로 설정합니다. 매우 유사한 고급 개념은 iterators입니다.
calloc을 사용하여 배열 요소를 0으로 초기화 할 수도 있습니다. Calloc의 맨 페이지를 참조하십시오. –
나는 while 루프를 사용하는 것이 약간 쉬웠다 고 생각했다. 나는 for 루프에서 어떻게 만들 것인지를 알 수 없었지만 어떤 점에서 참조가 필요할 것이라고 확신했지만 아직 새로운 것에 대해서 구문을 제대로 이해하지 못했습니다. 답장을 보내 주셔서 감사합니다. – user3806887
@ user3806887 : while 루프는 잘 작동합니다. 귀하의 코멘트에있는 당신의 원래 코드는 아주 가깝지 만 그것을 다음과 같이 변경해야합니다 :'int arr [5] = {1, 2, 3, 4, 5}; int * ptr = arr; int * end = arr + 5; while (ptr
다음과 같이 std :: fill, http://en.cppreference.com/w/cpp/algorithm/fill을 사용할 수 있습니다.
const size_t dataSize = 10;
int data[dataSize];
std::fill(data, data + dataSize, 0);
- 1. 배열의 초기 값을 0으로 설정하는 방법
- 2. 돌아오고 0으로 설정하는 방법?
- 3. 배열의 모든 요소를 수정하십시오.
- 4. 자바 스크립트 배열의 모든 요소를 무효화하는 방법
- 5. 배열의 모든 요소를 곱하는 순서도를 만드는 방법
- 6. 배열의 요소를 다른 배열의 모든 요소와 비교하십시오.
- 7. 배열의 모든 요소를 값으로 설정하는 가장 좋은 방법은 무엇입니까?
- 8. NULL을 0으로 기본 설정하는 방법
- 9. 배열의 모든 요소를 출력합니다 - C
- 10. 배열의 값을 0으로 설정
- 11. 배열의 요소를 테스트하는 방법
- 12. 모든 자식 요소에 대해 여백 및 여백을 0으로 설정하는 방법
- 13. 어셈블리의 배열 요소를 0으로 설정
- 14. 배열의 배열이 주어지면 모든 빈 값을 0으로 대체하려면 어떻게해야합니까?
- 15. 3 차원 배열의 새로운 무작위 요소를 0으로 만드는 법
- 16. CUBLAS/CUSPARSE 연산을 사용하여 unitialised 배열의 요소를 0으로 설정하는 것이 안전합니까?
- 17. 파이썬에서 목록/배열의 최대 요소를 설정하는 방법 3
- 18. 배열의 고저를 찾고 배열을 0으로 설정하는 것에 대한 도움
- 19. 배열의 정수가 왜 0으로 바뀌나요?
- 20. memset을 사용하여 volatile 배열을 0으로 설정하는 방법은 무엇입니까?
- 21. 올바르게 배열의 값을 0으로 초기화 하시겠습니까?
- 22. 배열의 단일 요소를 바꾸는 방법
- 23. 배열의 마지막 요소를 찾는 방법
- 24. 목표에서 링거 볼륨을 0으로 설정하는 방법 -c
- 25. MATLAB 배열의 모든 요소를 문자열로 병합하려면 어떻게해야합니까?
- 26. PHP 목록 배열의 모든 요소를 조합
- 27. 배열의 모든 요소를 추가하는 SSE 명령어
- 28. 레일 3 배열의 모든 요소를 삭제합니다
- 29. 스위프트 배열의 모든 요소를 함께 추가합니다.
- 30. numpy없이 배열의 모든 n 요소를 평균 처리합니다.
실제로 사용 "(전 = 0; 나는 <5; 내가 ++)에 대한 배열 [내가] = 0"이 [링크]를 체크 아웃, 더 나은 설명은 포인터 – almanegra
를 증가된다 (HTTP : // WWW .tutorialspoint.com/cplusplus/cpp_pointer_to_an_array.htm) 지금까지 가지고있는 –
int arr [5] = {1,2,3,4,5}; int * ptr = arr; (* ptr
user3806887