본문 바로가기

공부/C++

포인터의 덧셈을 사용한 배열의 탐색

아래 코드는 배열을 가리키는 포인터와

포인터를 사용한 배열의 탐색 + 해당 위치의 값에 대입연산 하는 코드이다.

#include <iostream>
using namespace std;


int main()
{
int nArray[10];// 배열 선언
int* p = &nArray[0];

for (int i = 0; i < 10; ++i)
*(p + i) = i;

for (int i = 0; i < 10; ++i)
cout << "p + " << i << " = " << *( p + i ) << "\n";


system("pause");

return 0;

}

===============================================
출력화면


===============================================
 

비타민 퀴즈 

변수 i없이 탐색이 가능한가?



==========================================

#include <iostream>
using namespace std;


int main()
{
int nArray[10];// 배열 선언
int* p = &nArray[0];


while ( p != &nArray[10] ) // 마지막 원소를 넘어서면 멈춘다.
{
// 첫번째 원소와의 차이를 통해 인덱스를 구한다.

*p = p - &nArray[0];
cout << *p << "\n";
// 다음 원소를 가리키게 한다.
++p;
}


int i;

for (int i = 0; i < 10; ++i)
cout << "p + " << i << " = " << nArray[i] << "\n";//i를 사용하지 말라고 했지만 이해를 돕기 위해 i를 사용했다.


system("pause");

return 0;

}


===================================
출력화면
 
 



==================================

답 :  while 문을 사용하여 반복시키면 가능하다.

'공부 > C++' 카테고리의 다른 글

Visual Studio 2008 줄 번호 표시 방법  (0) 2011.12.06
This 포인터란?  (0) 2011.11.25
const 와 포인터.  (0) 2011.11.25
0과 NULL  (0) 2011.11.25
아무것도 가리키지 않는. 포인터의 출력  (0) 2011.11.24