[UE5 TIL] C/C++ 강의 수강

JungHoon Eum·2026년 3월 3일
  • C언어 기본 강의 수강
  • C++ 언어 기본 강의 수강

C언어(포인터, 동적할당)

포인터

  • 자료형* 변수명 = 메모리주소값: 포인터 선언법
  • *포인터 = 역참조 연산자. 위에 한 대로 선언한 변수명이 여기 들어간다 i.e)PtrToX
  • &XXX: XXX 변수의 주소값
  • int* PtrToX = &Num 이면 *PtrToX = Num 임.
  • 함수 등에서 변수 그 자체를 입력값으로 받는다 = 해당 값을 복사해 온다
    변수에 대한 포인터를 입력값으로 받는다 = 주소를 받아와서 그 값을 직접 수정 가능
  • 주소값 자체를 출력하고 싶을 때 (포인터 그 자체) (void*)를 앞에 붙여서 형변환(캐스팅) 하고 출력해야 함

동적 할당

  • 힙 메모리: 원하는 크기만큼 직접 할당, 원하는 시점에 해제 가능한 메모리. malloc()으로 할당, free()로 해제
  • malloc의 "주인" 이 확실히 free() 까지 하는 걸 확인할 것! int main-return 0; 마냥 항상 확인하는 습관 들이기. 메모리 누수 발생 가능성 다분

C++

아직까진 C++ 강의는 기본만 진행했다. Hello World와 계산기 정도.
###기억해야 할 기본 문법

#include <iostream>

using namespace std;

int main()
{
	cout << "쓰고싶은내용" << 들어갈 변수(like Num1, Num1+Num2) << endl;
    cin >> Num1; // 인풋 적용 방법
    return 0;
}

기억해야 할 것

  • malloc()을 사용했다면 free()까지 반드시 고려

  • 포인터 연산 시 원본 시작 주소를 잃어버리면 안 된다.

  • realloc()은 크기 재조정에 사용. BUT 실패시 NULL 반환해서 기존 주소값 못찾아 메모리 누수

  • 동적 메모리에서는 “누가 책임지고 해제할 것인가”가 아주 중요하다.

  • *은 포인터 선언/ 역참조에, &은 실제 변수의 주소에

  • cout <<, cin >>

profile
개발지망생

0개의 댓글