문제풀이(Problem Solving)

C언어 예제 5 "Pointers in C" [HackerRank]

게임이 더 좋아 2020. 3. 16. 11:09
반응형
728x170

https://www.hackerrank.com/challenges/pointer-in-c/problem?h_r=next-challenge&h_v=zen

 

Pointers in C | HackerRank

Learn how to declare pointers and use them.

www.hackerrank.com

 

 

배경지식

 

포인터라는 것을 배우는데  포인터는 메모리 주소를 가리킨다.

주로 함수가 갖고있지 않은 변수들을 수정할 떄 사용한다고 한다.

 

그래서 예를 들어서 변수의 주소에 접근하려고 한다면

변수 이름이 val이면 &val을 해야 변수의 주소에 접근할 수 있다. &를 잘 기억하자

 

그렇다면 포인터는 어떻게 쓰냐면?

 

int val 이라는 정수형 val이라는 변수가 있다. 그렇다면 이 변수의 주소는 &val 이 될 것이다.

포인터는 이렇게 만든다

 

int*p = &val;

정수형 변수를 가리키는 포인터 p는 val의 주소를 가리킨다. 

 

물론 포인터 p는 val의 value를 반환한다.

 

 

밑에 코드를 보면서 얘기하자면

 

int c = *a; 가 뜻하는 바는

*a가 가리키는 정수형 자료(value)가 c에 들어가는 것이다.

 

그다음 줄 보면

정수형 자료 c,d가 *a의 value를 바꾼 것이다.

 

a,b로 바로 접근할 수 없는 이유가 주소를 모르기 때문이다. ㅎㅎ

 

 


 

 

 

 

 

 

 

728x90
반응형
그리드형