본문 바로가기

전체 글

(C/C++ 속성 정리) 13일 차 : typedef , 구조체 안녕하세요 넬다이입니다. 13일 차는 구조체에 대해서 정리할 텐데요 C와 C++의 꽃 포인터를 넘어오신 여러분들이라면은 구조체는 쉽게 넘어갈 것이라고 생각합니다~. 구조체 우리가 프로그램을 설계할 때 적절한 데이터 관리 방식을 선택하는 것은 매우 중요한 절차입니다. 변수, 혹은 배열, 성적표를 3명을 입력받을 때 각각의 자료마다 3개짜리 배열을 선언해서 사용했어야 했다. 구조체는 이러한 상황일 때 좀 더 융통성 있게 사용할 수 있게 해 준다. 구조체 논리적 자료 표현, 사용자 정의 자료형 우리는 이미 기본 자료형에 대해서 배운 적이 있습니다. 우리가 int iA를 선언하듯 구조체 변수명 tInfo.iKor; cout > tInfo.iMath; cout > tInfo.iEng; tagInfo tInfoAr.. 더보기
(C/C++ 속성 정리) 12일 차 : string 컨테이너 안녕하세요 넬다이입니다. 오늘은 string에 대해서 배워보겠습니다. 프로그램을 하면은 문자열을 담아놓을 공간을 많이 쓰게 되는데 이를 담아두는 string 어렵지 않은 항목이니 다들 파이팅입니다. string 컨테이너 일반적으로 문자열 처리를 할 때 신경을 써야 하는 부분이 많다. 문자열을 처리하기 위한 배열은 컴파일 타임에 이미 크기가 정해지기 때문에 배열의 크기를 벗어나는 문자열을 저장할 수 없다. 간단한 문자열 대입이라던가 비교라던가 하려고 해도 문자 열처리 함수를 반드시 사용해야 하는 불편함이 있다. 하지만 string 컨테이의 사용을 통해서 우리는 공간이 얼마나 남았는지 혹은 문자열 복사라던지, 비교, 더하기 등을 쉽게 처리할 수 있다. #include //C++ #include // C //.. 더보기
(C/C++ 속성 정리) 11일 차 : 문자열 및 문자열 함수 안녕하세요 넬다이입니다. 오늘은 11일 차 문자열에 대해서 정리해볼 생각입니다. 11일 차까지 이렇게 진행하다 보니 다들 힘드실 텐데 다들 파이팅입니다. 문자열이란 'c', 'h', 'a', 'r' 각자 있으면 한 개의 단일 문자에 불과하다. 이것을 연달아서 "char" 이렇게 표현하면 연이어 있는 문자들의 모임으로 이것을 문자열이라고 한다. 단일 문자. 작은따옴표로 표현을 하고 char cA = 'A'; char cArray[5]; cArray[0] = 'A'; cArray[1] = 'B'; cArray[2] = 'C'; cArray[3] = 'D'; 문자열 같은 경우는 큰따옴표로 처리를 한다. "ABCD" 단일 문자의 배열로 문자열을 표현할 수 있다. char 타입은 오래된 문자열 타입이며 지금은 c.. 더보기
Unreal Nested containers are not supported 오류 해결법 안녕하세요 넬다이입니다. 언리얼을 사용하다보면은 가끔 이런 에러가 나올때가 있는데요 이런 문제를 해결을 한번 해볼까 합니다. 자 Nested containers are not supported 에러는 무엇이냐 하면은 언리얼에서는 중첩 컨테이너를 지원하지 않습니다. 그렇다면은 우리가 사용하고 싶은 중첩 컨테이너는 어떤 해결법들이 있는지 한번 봐보지요. 일단 에러구문입니다. UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (AllowPrivateAccess = "true")) TMapPassiveList; 자 이건 제가 작업을 하다가 문제가 되었던 코드입니다. 위에 보시면은 TMap 안에 Pair로 TArray가 들어간게 보이실꺼에요. 그러면은 언리얼 코드에서는 N.. 더보기
(C/C++ 속성 정리) 10일 차 : 포인터 심화 및 2차원 배열 안녕하세요 넬다이입니다. 오늘은 포인터 심화 내용 및 2차원 배열을 배워보도록 하겠습니다. 오늘 정리는 짧게 구성되어있으며 보시고 익숙해지시면 복습하는 시간을 가져보는 것도 나쁘지 않을 것 같습니다. 포인터 심화 내용 정수형 변수에 +1을 한다면 단순 1이 증가하게 된다. 하지만 포인터 변수에 +1을 한다면 해당 포인터 변수가 지시하는 데이터 타입의 바이트 크기만큼 이 증가하게 된다. short 형 포인터 변수에 1을 더하면 2바이트만큼 증가하고 double 형 포인터 변수에 1을 더하면 8바이트가 증가하게 되는 것입니다. 포인터 변수의 값은 주소 값이며 증감 연산도 가능했다. 다른 주소를 가리키도록 변경도 가능했다. 포인터 변수도 인덱스 첨자를 이용한 임의 접근도 가능하다. 배열의 이름은 배열의 시작 .. 더보기
(C/C++ 속성 정리) 9일 차 : 포인터와 배열 안녕하세요 넬다이 입니다. 오늘 시간에는 포인터와 배열에 대해서 정리해보는 시간을 가질 건데요! 8일 차에는 포인터를 배웠지만 오늘은 포인터 + 배열에 관해서 배워보도록 하겠습니다. 배열에 대해서 알아봅시다. int iA = 0; int iB = 0; int iC = 0; int iD = 0; int iE = 0; 일반 변수는 메모리 상에 떨어져서 할당이 될 수도 있고 붙어서 할당이 될 수도 있습니다. 즉 블록 단위 할당을 보장할 수 없으므로 인덱스를 통한 임의 접근이 불가능한 것입니다. 배열을 선언한 것.. int iArray [5]; 5개의 값을 저장하기 위해 다섯 개의 변수가 필요하지만 배열을 사용하면 번잡스럽게 선언할 필요가 없이 간단하게 선언할 수 있다. [] 첨자, 인덱스 혹은 순번이라고 표현.. 더보기
(C/C++ 속성 정리) 8일 차 : 포인터 안녕하세요 넬다이 입니다. 이번 시간에는 C와 C++의 꽃 포인터 시간입니다. 많은 분들이 포인터에서 포기를 하시는걸 많이 봐왔어요. 하지만 너무 포인터를 어렵게만 생각하지 말아 주시고 아 이런 거구나라고 이해를 하시기만 하고 사용을 직접 다양하게 하면서 깨달아 가면 충분히 다들 가능할 거라고 생각합니다. 포인터 우리가 변수를 선언하게 되면 메모리 어딘가에 해당 자료형의 크기만큼 공간이 할당된다. 그리고 그 공간은 주소를 통해 식별할 수 있다. 메모리의 주소를 저장하기 위한 변수가 포인터 변수이다. 잘 사용한다면 정말 편리하지만... 잘못 사용할 경우에는 치명적인 문제를 초래할 수 있다. 어떤 변수가 메모리를 점유하고 있든 간에 그 공간에 접근하여 값을 변경할 수 있기 때문이다. 고급 언어인 JAVA 나.. 더보기
(C/C++ 속성 정리) 7일 차 : 바이트의 저장순서 및 별찍기 안녕하세요 넬다이 입니다. 오늘은 7일 차 정리가 되겠습니다!!!! 오늘은 바이트의 저장 순서 및 반복문의 복습 겸 해서 별 찍기를 진행해보겠습니다. 저번 시간에도 말씀드린 듯이 반복문은 중요한 문법이기 때문에 다시 한번 알아보는 시간을 가질까 했어요!!!! 그러니 여러분들도 파이팅해주세요!! 바이트의 저장 순서 일반적으로 우리가 메모리 주소를 보면 16진수로 되어 있는 것을 볼 수 있다. 바이트의 저장 순서를 영어로 엔디안이라고 한다. intiTest = 0x12345678; char*pTest = (char*)&iTest; for(int i = 0; i < 4; ++i) { printf("%x", pTest[i]); } 위에 코드를 실행하게 되면은 이러한 결괏값이 나오게 된다. 반복문을 통해 char.. 더보기