공부방/ARM_STM32 노진호교수님_필기

(2week) 질문방 " 포인터 "

맘스터치보단파파이스 2024. 4. 29. 10:57

 

1. 외부 file.c  #include 할 때 어떤 file.h를 include 하는가.

 

 

2. extren 사용 vs 함수 사용

 

 

포인터 : 간접 참조

다른곳에서 만든 변수를 가져오는 것 --> 어떻게 가져오느냐  : 주소 원쿠션처럼

해당 주소의 메모리 공간에 10을 넣음

pA라는 주소 *pA (* : 포인터) 메모리 주소를 저장 할 수 있는 공간.

int *pA  에서 int 의 의미는? ==> 메모리 공간이 4byte라는 걸까? ==> 참조하는 변수의 크기

그냥 값 : 데이터  (int *) 가 되어야 주소

주소를 받긴 받는데 그 안에 들어가는 자료형이 int 형이다.

 

 

둘은 같은 값이다.

 

(* & = 사라진다.) 

 

주소를 a 라고 하자 : int = a  a==> *(int*)oxa0f12340 

(int*)oxa0f12340라고만 되어 있으면 oxa0f12340 라는 주소 를 나타내는 상수

 *(int*)oxa0f12340 라고 되어있어야 이 주소에 값을 저장하겠다.

*(int*)0xa012350 이라는 공간에 저장한다라고 가정한다면 *(int*)0xa012350 = pA

*( *(int*)0xa012350) = *pA  주소를 담을 수 있는 변수가 된다.

PA라는 메모리에 넣는것 처럼 보이지만 주소에다가 20을 넣는것.

int temp = &PA;

temp 라는 메모리공간을 잡아둔다. 여기에 값을 넣는것.

int temp = &PA;

temp 라는 메모리공간을 잡아둔다. 여기에 값을 넣는것.

0xa0f12340 주소에 저장된 data값을 temp 주소에 지정된 data 값에 넣는다.

https://lsoovmee-rhino.tistory.com/entry/%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-C-%EC%96%B8%EC%96%B4-C-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D-%EA%B8%B0%EC%B4%88-5-%ED%8F%AC%EC%9D%B8%ED%84%B0-%EB%BF%8C%EC%8B%9C%EA%B8%B0-Pointer

 

[자료구조 C 언어] C 프로그래밍 기초 - 5 : 포인터 뿌시기 (Pointer)

벌써 지긋지긋합니다. 뭔가 이해한 것 같으면 새로운 게 생겨나는 포인터... 차근차근 알아봅시다. 제 게시물은 쭉 읽어보면서 이해하기 좋게 한다가 목적입니다. 천천히 이해하면서 읽어주세요

lsoovmee-rhino.tistory.com

3. 수업시간에 진행할 것

4. 초기화 위치

main 함수에서 while(1)에 들어가기 전에 초기화를 해준다.

출력 관련된 Motor lcd 등등 Presenter init(); 에 새 초기화 함수를 넣어주면 된다. (하지만 스타일에 따라 다르다)

 

5. 구조체 선언한 file.h를 어떻게 불러야 할까?