티스토리 뷰

tmp

c언어 - 포인터

박스여우 2015. 3. 7. 11:12
c언어 포스팅 No.5 - 포인터

 

 

 



여러분이 c언어를 배우시는 과정에서 가장 두려워하는것!

바로 포인터!

이번에는 포인터에 대해서 알아보겠습니다!

포인터란 변수가 저장되어있는 어드레스를 저장하는 변수입니다.

여기서 어드레스는
변수가 저장된 주소이며, 변수명 앞에 어드레스연산자(&)를 붙이시면 됩니다.


포인터 선언방법!
포인터의 선언방법은 변수의 선언과 같습니다.

변수타입 *(포인터연산자)포인터이름;

포인터이름 = &(어드레스연산자)변수명;


포인터의 특징!
포인터의 크기는 변수의 타입과 상관없이 일정합니다!
주소값만 저장하는 변수이기 때문이죠

그럼 왜!
타입을 정해주냐구요?

바로 주소값에 가서 불러올 데이터 양을 정해주기 위해서입니다.

4byte짜리 int형 변수값을 불러올려는데, 2byte만 불러온다면 오류가 나겠죠?


포인터를 이용한 연산!
포인터도 연산이 가능합니다.

하지만 +,-만 가능합니다.

포인터에 연산을 하게되면 다른 변수들과 같은 작용을합니다.

그럼 필요성이 없는것 같다구요?

아니죠!
함수와 변수를 이용한 연산에서 아주! 유용하게 쓰입니다.


Call by reference
call by reference란?

변수의 어드레스 값을 이용하여 함수로 작업을 하는것을 말합니다.

전 시간에 말했던 call by value에대헤 아시죠?

변수값을 복사하여 함수에게 건내주는대신,

주소값을 건내주는게 call by reference입니다.


주소값을 건내 받아 연산을 하면 그 주소값의 변수의 값이 변하게 됩니다.


포인터에 대해서는 다음에 이어서 하겠습니다.

'tmp' 카테고리의 다른 글

버퍼 - Buffer  (0) 2015.06.16
String.h 헤더파일 함수  (0) 2015.05.25
c언어 - 함수  (0) 2015.03.05
c언어 - 배열  (0) 2015.03.05
c언어 연산자  (0) 2015.03.04
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함