포인터 2

c언어 포인터(연산)

지난 포스팅에 이어 포인터끼리의 연산에 대해서 알아본다. 포인터의 연산에서 헷갈리기 쉽고 중요한 3가지이다. 1. 포인터와 포인터를 더하는 것은 불가능하다. - 포인터라는 것이 주소 값을 저장하고 있는 변수이고 이 두 개를 더한다는 것은 제3의 주소 값을 만들어 내는 것을 의미한다. 의미가 없는 행위이기에 c언어 자체적으로 지원하지 않는다. 2. 포인터와 포인터를 빼는 것은 가능하다. - 포인터와 포인터를 빼는 것은 의미가 있다. 왜냐하면 포인터와 포인터를 빼는 행위는 두 주소 사이에 몇 개의 메모리 공간이 있는지 알아낼 수 있기 때문이다. 밑의 예제를 통해서 확인해 볼 수 있다. 3. 포인터와 정수 간의 연산은 가능하다. - 포인터는 10진수와의 연산이 가능하며 연산할 때마다 포인터 타입 크기만큼 이 ..

알고리즘 2020.01.09

c언어 포인터 (C pointer)

개인적으로 js에 관심이 많이 있기에 알고리즘 풀이 언어를 node.js로 가져가고 있었다. 하지만 파이썬, 자바, c++로만 풀 수 있는 문제들도 프로그래머스에서 출제가 되곤 하는 것을 깨달았다. 그래서 틈틈이 c언어 공부를 시작하기로 했다. c++ 이 c언어를 기반으로 하고 있기에 들어가기 앞서 c언어에서 기본적으로 꼭 알아야 하는 핵심 개념들을 틈나는 대로 정리하고자 한다. c언어에서 포인터란 메모리의 주소값을 저장하는 변수이다. 다른 언어들에서는 직접 주소에 접근하는게 쉽지 않았는데 c언어는 메모리의 주소 값에 접근하기 매우 편리하다. 다음 2가지 연산자가 메모리의 주소 값 접근과 수정을 편리하게 해 준다. * 연산자 ex) int *p = 10 1) 포인터 변수의 선언에 사용 (위의 경우 포인터..

알고리즘 2020.01.07