728x90
728x90
포인터는 무엇인가??
포인터는 특정 위치를 가르킨다 라고 정의 되어 있습니다.
특정 위치란 어디 인가?
특정 위치란 메모리의 주소를 말 합니다.
메모리의 주소란?
컴퓨터나 아니면 마이컴의 메모리를 일반적으로 말 합니다.
포인터에는
특정한 문자나 상수 값, 문자열이 들어가는 것이 아니라 바로 번지가 들어가는 것이다.
(번지 : 번지는 주소를 말 한다. )
포인터 변수는 번지 이외에는 어떠한 것도 들어갈 수 없다는 것을 절대 잊으면 안 된다.
포인터를 변수를 만드는 방법
int *point_value;
정수형에 '*'을 붙이여서 만든다.
point_value = 5;
point_value = 100;
과 같이 사용 될 수 없습니다.
위와 같이 설정하고 컴파일을 하게 되면 다음과 같은 에러가 발생 합니다.
DEV-C++ 컴파일러. GCC 4.9.2
[Error] invalid conversion from 'unsigned char' to 'unsigned char*' [-fpermissive]
정수 값을 포인터 변수에 저장 할 수 없기 때문 입니다.
포인터 변수에 무언가를 넣고 싶으면 번지(주소)를 저장 하여야 합니다. 이때 사용 하는것이
& 번지 연산자 , 앤드 연산자 라고 부르는 것을 이용하여서 접근 합니다.
int test = 5;
point_value = &test;
728x90
'WORK > Sotfware' 카테고리의 다른 글
STM8L15x PWM 만들기 (0) | 2017.04.27 |
---|---|
FreeRTOS 관련 건. (0) | 2017.04.25 |
UART Program 정리 (0) | 2016.11.15 |
배열 과 포인터 (0) | 2016.10.20 |
랜덤 함수 (0) | 2016.05.12 |
댓글