C++

일반적인 변수에 대한 포인터를 공부하다보면, 상수 값에 대한 포인터가 궁금해질 수 있습니다. const 키워드로 선언하는 상수는 알다시피 그 값이 선언과 초기화 이후에 변경할 수 없습니다. 그리고 포인터는 상수에 대한 기능도 역시 수행할 수 있습니다. 상수와 관련된 포인터는 총 세가지 종류로 분류할 수 있겠습니다. 상수에 대한 포인터 (pointers to constants) 상수 포인터 (constant pointers) 상수에 대한 상수 포인터 (constant pointers to constnats) 하나씩 알아보겠습니다. 1. 상수에 대한 포인터 (pointers to constants) 상수에 대한 포인터가 가르키는 데이터는 상수이고, 변경될 수 없습니다. 하지만 포인터 스스로는 변경되고 다른 ..
·C++/기타
프로그래밍을 하다 보면 2개의 변수에 대해서 서로의 값을 교환해야 하는 경우가 있습니다. swap 함수를 쓰면 편하지만, 직접 효과를 구현해야 할 때도 (혹시?) 있을 것 입니다. 가령 a = 40, b = 30일 때 a = 30, b = 40으로 만드는 것입니다. 저만 그런지 모르곘지만, 항상 보조 변수를 선언해서 이 방법을 해결했었습니다. int n 같은 변수에 a 나 b 중 하나를 저장해 놓고, 순차적으로 바꾸는 것이죠. int a {40}; int b {30}; int n {}; n = a; a = b; b = n; cout
C++의 포인터는 Assignment Expressions (대입 표현식) Arithmetic Expressions (산술 표현식) Comparison Expressions (비교 표현식) 에서 사용이 가능합니다. 포인터에 대한 다양한 연산(산술)이 가능합니다. 다음은 포인터에 적용 가능한 몇가지 연산들입니다. (++) 포인터의 값을 증가시켜 배열의 다음 요소를 가르키도록 합니다. int_ptr++; (--) 포인터의 값을 감소시켜 배열의 이전 요소를 가르키도록 합니다. int_ptr--; (+) 포인터의 값을 n * sizeof(type) 만큼 증가시킵니다. int_ptr += n; or int_ptr = int_ptr + n; (-) 포인터의 값을 n * sizeof(type) 만큼 감소시킵니다. i..
배열과 포인터의 관계: Relationship Between Arrays and Pointers 배열과 포인터를 둘 다 얼추 이해하게 되면, 한가지 공통점을 알게 됩니다. 배열의 이름이 어떤 것을 의미하는지 기억하고 계시나요? 바로 '배열의 첫번째 데이터의 주소값'을 나타냅니다. 그리고, 포인터 변수의 값은 주소값이였습니다. 이렇게 보면 사실상 배열의 이름과 포인터는 동일한 것 같지 않나요? 실제로 만약 포인터가 배열의 요소와 동일한 타입을 가지고 있다면, 포인터와 배열은 상호교환적으로, (사실상) 동일하게 사용할 수 있습니다. 간단한 코드로 이를 확인해 보겠습니다. int scores[]{100, 90, 80}; cout
Ricky U. Lee
'C++' 카테고리의 글 목록 (7 Page)