본 캠프 TIL

26.04.27 TIL / C언어 6-1 ~ 포인터, 구조체 간단설명 / UE5 미니 발표회

jh009 2026. 4. 27. 17:47

C언어 세션 6일차

6-1. 함수 개론

  • 코드 뭉치
  • 반복되는 코드 뭉치가 있다면 해당 코드 뭉치를 함수로 만들어서 재사용성을 높힐 수 있음
  • 입력 혹은 출력이 있는 경우 대부분 다 함수라고 봐도됨 (좀 추상적임)

함수 작성 방법 [중요 샘플 코드]

반환자료형 함수명(매개변수자료형 매개변수명) // 함수 선언

{

 

         return 반환값;

}

// 함수 정의

 

              자료형       변수명 =       값

매개변수자료형 매개변수명 = 인자값

 

int main(void)

  • int = 반환자료형
  • main = 함수명
  • (void) = 매개변수 자료형, void 는 매개변수명이 없음
int main(void)
{
	int num = 10;  
    // 자료형 변수명 = 값;

	함수명(인자값); 
    // 함수 호출(Call)

	return 0;
}

 

 

Ex060102) PrintOneStar() 함수

Ex060103) Add() 함수 1

Ex060104) Add() 함수 2


6-2 : [참고] 스택 프레임

[참고] 스택 프레임

 

함수는 몇 회나 호출될 수 있나?

ㄴ함수의 호출 횟수는 제한 할 수 없다

 

60 프레임이라면, 어떤 함수는 1초에 60번 호출되고 있는 것

 

게임의 중추가 되는 어떤 함수(Tick() 함수 같은)는 1초에 수천번씩 호출될 수도 있음

ㄴ 컴퓨터에 렉이 걸림 / 과부하 걸릴수도있음


6-3. 스코프

 

전방 선언 - 분할 컴파일? 을 하기 위해서 한다고 함


7-1. 포인터

배열은 연속적인 메모리에 저장된다고 했으니까 자료형과 시작 주소만 알면 될 것 같음.

ㄴ시작 메모리 주소로 가서 자료형을 통해 얻은 한 칸의 크기로 모두 접근 가능하기 때문임.

 

 

“들고 다닌다”의 의미?

 

ex) 아파트 1채 10톤(2억 바이트) Vs. 아파트 1채의 소유문서 10g (시작 메모리 주소값. 8바이트)

 

포인터(Pointer) [중요 샘플 코드]

 

메모리 주소를 저장하는 변수.

자료형 변수명 = 값;

자료형* 포인터명 = 메모리주소값; // 자료형쪽에 Asterisk를 붙힙시다.
    // 포인터명쪽에 Asterisk를 붙히면 뒤에서 배울 역참조 연산자와 심히 헷갈립니다.

 

[심화] 포인터를 공부하다보면.

 

요건 나중에 시간되면 해보기.


동적할당

8-1 : 힙 메모리

 

8-2 : 동적할당과 메모리 소유권 문제

 

Ex080201) malloc() 함수와 free() 함수 [중요 샘플 코드]


09. 구조체

 

필요한 여러 자료형의 변수들을 한데 묶어서 하나의 자료형처럼 만들 수 있습니다.

아래와 같은 코드로 정의 가능합니다. 예제 코드를 반복적으로 클론 코딩 해보며 숙지해봅시다.

구조체란, “사용자 정의 자료형”이다. (튜터 개인적인 정의, 공식x)


UE5 미니 발표회

6일동안 UE5 에디터 기초부터 시작해 나만의 FPS 슈팅 게임을 완성 후 미니 발표회를 들었음.

여러 사람이 각자의 개성으로 꾸민 FPS 슈팅 게임을 보았고, 여러 좋은 아이디어와 결과물을 구경하였음.