컴퓨터공학/C언어

C언어 12 - 2 포인터 활용

Arkeiyou 2021. 11. 14. 17:43

용어체크

1.포인터 연산

  • 증가, 감소, 덧셈, 뺄셈 연산
  • 연산되는 값은 포인터가 가리키는 객체의 크기
  • 연산되는 값은 포인터가 가리키는 변수의 자료형의 크기

2. 포인터의 형변환

  • C언어에서는 꼭 필요한 경우에, 명시적으로 포인터의 타입이 변경 가능

3. 배열 이름

  • 포인터 상수
  • 배열의 시작 주소
  • 연산 불가능

 

학습내용
  • 1. 포인터 연산
  • 2. 포인터와 함수
  • 3. 포인터와 배열
    • 포인터 연산, 함수, 배열 실습
학습목표
  • 1. 포인터 연산을 알고, 사용할 수 있다.
  • 2. 포인터와 함수를 알고, 사용할 수 있다.
  • 3. 포인터와 배열을 알고, 사용할 수 있다.

 

 

 

 

 


포인터는 프로그래머 마음대로 증감시킬 수 있을까요?

마음대로 증감시킬 수 있지만 증감된 포인터가 잘못된 위치를 가리킬 수 있으므로 유의해야 합니다.


Quiz 01배열 a에서 a는 포인터 변수와 같다.
  • 1 O
  • 2 X
정답 :2
해설 :배열 a에서 a는 포인터 상수와 같다.
 
 
Quiz 02int a[]={1,2,3,4,5} 일 때, *(a+2)의 값은?
  • 1 1
  • 2 2
  • 3 3
  • 4 4
정답 :3
해설 :*a = 1, *(a+1)=2, *(a+2)=3이다.
 
 
Quiz 03다음 중 a[6]과 같은 것은?
  • 1 *(a+6)
  • 2 *a+6
  • 3 (*a)+6
  • 4 a+6
정답 :1
해설 :a[6]와 *(a+6)는 같다.
 

학습정리

1. 포인터 연산

  • 포인터에 대해 가능한 연산: 증가, 감소, 덧셈, 뺄셈 연산
  • 연산되는 값은 포인터가 가리키는 객체의 크기와 같음
  • 증감 연산자는 간접 참조 연산자 *와 같이 사용 가능함

2. 포인터와 함수

  • 함수가 외부로부터 매개 변수를 통해 데이터를 받는 방법에는 값에 의한 호출(call by value)과 참조에 의한 호출(call by reference) 이 있음
  • C 언어에서는 값에 의한 호출만 지원하지만 포인터를 이용하여 참조에 의한 호출의 간접 구현이 가능함

3. 포인터와 배열

  • 배열 이름은 포인터 상수로 취급되며, 배열의 시작 주소와 같음
  • 포인터는 배열처럼 사용이 가능