포트폴리오/[IoT 기반 피지컬 AI 교육일지]

[ 4일차 복습 ] 포인터 응용 · 변수 영역 · 다차원 배열

개발자혜콩 2026. 2. 10. 16:50

1.오늘 학습내용

① 변수의 영역과 데이터 공유

  • 지역 변수
    • 함수 내부에서만 사용
  • 전역 변수
    • 프로그램 전체에서 접근 가능
  • static 변수
    • 영역은 지역
    • 생명주기는 프로그램 전체
  • extern
    • 다른 파일에 정의된 전역 변수 공유

② 다차원 배열

  • 배열 안에 배열 구조
 
           int arr[3][4];
 
  • 메모리는 연속적으로 할당
  • 행(row) 단위로 접근

③ 포인터 배열

  • 포인터를 원소로 가지는 배열
 
               char* arr[3];
 
  • 문자열 배열 구현 시 자주 사용
  • 각 원소가 서로 다른 주소를 가질 수 있음

④ 다차원 배열 vs 포인터 배열

  • 다차원 배열
    • 메모리 구조가 고정
  • 포인터 배열
    • 메모리 구조가 유연
    • 동적 할당과 궁합 좋음

⑤ 응용 포인터

  • 이중 포인터 (**)
    • 포인터의 주소를 저장
  • 함수에서
    • 포인터 자체를 변경하고 싶을 때 사용
  • 동적 할당 함수에서 자주 활용
 
                int** p;

2. 헷갈렸던 거

  • 다차원 배열과 포인터 배열 차이
  • 이중 포인터의 필요성
  • static과 extern 사용 목적
  • 변수의 영역과 생명주기 구분

3. 나중에 다시 볼 키워드

  • 지역 변수 / 전역 변수
  • static / extern
  • 다차원 배열
  • 포인터 배열
  • 이중 포인터
  • 응용 포인터