1. 개요포인터글에서 여기까지 작성하려고 했는데, 글이 길어지니까 이해하기 어려울 것 같아서 나눠서 작성하게 됐다.이 글에서는 포인터의 몇 가지 사용방법을 설명하겠다. 2. 포인터 연산간접 참조 연산자를 사용할 때는 어떤 변수에 *기호를 붙일지 정확하게 지정해야 한다.그러지 않는다면 의도한 것과 다른 결과가 출력될 수 있다. 코드 :#include int main() { int a = 50; int* ptr = &a; printf(" ptr\t\t= %d\n", ptr); // ptr printf(" ptr + 1\t= %d\n", ptr + 1); // ptr + 1 printf(" ptr\t\t= %d\n"..
게임을 만들며 플레이어의 이동을 구현하던 도중 플레이어가 떨어지지 않는 문제가 발생했다.점프를 하도록 만들어봤는데 점프도 똑바로 되지 않는다. 1. 문제상황 이 문제의 원인은 플레이어의 이동을 Rigidbody.velocity로 만들어서 발생한다. 2. 원인스크립트using System.Collections;using System.Collections.Generic;using UnityEngine;public class PlayerController : MonoBehaviour{ public Rigidbody rb; public float speed = 8f; public float jumpforce = 10f; void Start() { rb = GetComp..
1. 개요같이 공부하는 사람들의 질문을 받다 보니 배열을 정확하게 이해하지 못하는 사람이 많다는 것을 느꼈다.그래서 먼저 변수에 대해 간단하게 설명하고, 포인터에 대해 간단하게 소개하겠다.그 후 배열이 정확하게 어떤 것인지 적어보고자 한다. 편의를 위해 이번 글에서는 int를 4바이트, 변수의 주소를 100으로 가정했다. 2. 변수(Variable)포인터를 이해하기 위해서는 우선 변수가 어떤 식으로 메모리에 저장되는지 알아야 한다. 코드 :int a = 50; // 선언printf("a\t = %d\n", a); // 출력 위 코드를 순서대로 해석해 보면 1) 메모리에서 4바이트 크기를 묶는다. 2) 묶은 메모리에 a라는 이름을 붙인다. 3) a에 정..
1. 개요코드를 작성하고 프로그램으로 만들어 실행시키면 개발자가 작성했던 모든 코드와 데이터는 메모리에 저장된다.프로그램이 동작한다는 것은 CPU가 메모리에 저장된 명령어를 실행하고, 데이터를 변경하는 과정이다.그만큼 코드를 작성할 때 메모리는 중요하고, 메모리에 대해 이해하면 프로그램의 동작을 쉽게 이해할 수 있다. 2. 메모리의 구조일반적으로 검색하면 볼 수 있는 메모리구조이다.각 영역의 특징과 차이점을 알아보고자 한다. 3. 메모리 영역우선 프로그램의 작동 과정에 대해 간단하게 설명하겠다.개발자가 코드를 작성한 후 컴파일을 통해 실행파일로 변경하고, 사용자가 실행파일을 실행하면 프로그램이 작동한다.이때 컴파일하는 과정을 컴파일타임(Compile time), 프..
게임 회사에 다니는 주니어 개발자입니다. 학원에서 유니티와 언리얼을 배웠고, 현재는 서버 개발자로 일하고 있습니다. 학원 진도 이외에도 개인적인 공부를 하며 생기는 생각들을 기록하고 정리하기 위해 블로그를 시작하게 되었습니다. 우선 비전공자로서 프로그래밍 공부를 하며 생기는 고민들과, 기억해두고 싶은 것들을 적어두려고 합니다.