본문 바로가기

포인터2

[C언어세션][포인터와배열]포인터와 배열의 관계, 포인터 연산, 상수형태의 문자열,포인터 배열 포인터에 대한 이해가 충분히 이루어졌다면, 포인터와 배열 사이의 관계를 살펴보자. 포인터와 배열의 관계? 우리가 앞서 배열을 배워 본 적이 있다. 근데 왜 갑자기 포인터를 배우다가 배열을 다시 언급하는걸까? 왜냐하면 배열은 주소값이기 때문이다.! 배열의 이름은 배열의 시작 주소값을 의미한다. 다음 예제를 통해 더 자세히 살펴보자. #include int main(void){ int arr[3]={ 0, 1, 2 }; printf("배열의 이름: %p\n", arr); printf("첫 번째 요소: %p\n",&arr[0]); printf("두 번째 요소: %p\n",&arr[1]); printf("세 번째 요소: %p\n",&arr[2]); } 결과를 실행해보면, 배열의 이름: 0012FF50 첫번째 요.. 2020. 5. 31.
[C언어세션][포인터] 포인터란, 포인터 연산자( * , &), 포인터형 이번 시간에는 포인터에 대해 배워보겠다. C언어에서는, 포인터를 이용하면 메모리에 직접 접근이 가능하다! 포인터 변수란? 포인터를 잘 이해하기 위해서는 이렇게 메모리 공간을 그림으로 그려가면서 공부해야한다. num1의 메모리 주소 값은 008F7FC이다. 1바이트의 메모리 공간을 단위로 하나의 주소값이 할당된다. 이것도 저장가능한 값이고, 이를 저장하기 위해 마련한 변수가 "포인터 변수이다". char형 변수는 1바이트만 필요로 한다. 해당 1바이트가 차지하는 메모리 주소에 할당되어있다고 하면 된다. 하지만 int형 변수는 어떨까? int형 변수는 4바이트다. 하지만 C언어에서는 시작 위치만 이야기한다. int 형 변수 num이 0xl2ff76번지에 할당되어있다고 하면, 실제론 0xl2ff76부터 0xl.. 2020. 5. 25.