본문 바로가기
WORK/Sotfware

C언어 point 와 구조체 1

by KANG Stroy 2017. 3. 15.
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

댓글