본문 바로가기

C++/유튜브 어소트락 게임아카데미 C++무료강의8

8. 포인터 8. 포인터포인터란?포인터(pointer)는 메모리 주소를 저장하는 변수입니다. 즉, 특정 변수의 메모리 주소를 가리키며, 이를 통해 해당 변수의 값을 간접적으로 접근하고 수정할 수 있습니다.기본 개념// 포인터 변수 선언 및 초기화int* pint = nullptr; // nullptr은 0x00000000을 의미하며, 포인터가 아무것도 가리키지 않음을 나타냄int i = 100;// & : 변수의 주소값을 가져오는 연산자int* pint2 = &i; // i의 주소를 pint2에 저장// 주소를 이용한 값 변경(*pint2) = 200; // pint2가 가리키는 변수 i의 값을 200으로 변경// 다른 데이터 타입의 포인터float f = 3.14f;float* pf = &f; // f의 주소를 p.. 2025. 4. 3.
7. 지역변수, 전역변수 #include // 전역변수int main(){ // 지역변수}🔷  변수의 종류1. 지역 변수 (Local Variable)   함수 또는 블록 내부에서 선언됨.   해당 블록이 끝나면 메모리에서 자동으로 해제됨.void func() { int a = 10; // 지역 변수} // 함수가 끝나면 a는 사라짐 2. 전역 변수 (Global Variable)   함수 외부에서 선언되며, 프로그램 전체에서 접근 가능함.   데이터 영역에 저장되어 프로그램 종료 시까지 유지됨.int globalVar = 20; // 전역 변수void func() { globalVar += 5; // 어디서든 접근 가능} 3. 정적 변수 (Static Variable)  지역 변수처럼 보이지만, 데이터 영역에 저장.. 2025. 4. 2.
6. 구조체(Structure) 구조체란?구조체는 사용자 정의 자료형(User-defined data type)을 만들 수 있도록 지원하는 기능입니다.기본 자료형(int, float 등)과 달리, 사용자가 직접 새로운 자료형을 정의할 수 있습니다.구조체도 다른 구조체를 포함하여 확장할 수 있습니다.typedef: 타입 재정의typedef를 사용하면 복잡한 구조체 타입을 새로운 이름으로 정의할 수 있습니다.이를 통해 코드 가독성을 높이고, 구조체를 더 쉽게 사용할 수 있습니다.기본 구조typedef struct 구조체이름 { 타입 정의} 사용자정의타입이름, *포인터타입이름;예제 코드#include #include // typedef를 사용한 구조체 정의// _tagStudent는 구조체 이름, STUDENT는 사용자 정의 타입 이름.. 2025. 3. 30.
5. 배열 배열은 메모리에서 연속적인 위치를 사용합니다.배열 선언정수 배열의 경우, 값을 할당하지 않은 자리는 0으로 초기화됩니다.int 배열명[배열길이] = {}; int iArray[10] = {}; // 4바이트 정수형 배열, iArray = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}배열 접근배열의 인덱스는 0부터 시작합니다.iArray[4] = 10; // iArray 배열의 5번째 값을 10으로 변경합니다.주의 사항배열의 길이를 초과해 접근할 경우 에러 발생 또는 메모리 손상의 위험이 있습니다.이는 정의되지 않은 동작(Undefined Behavior)으로, 다른 메모리 값을 덮어쓸 수도 있습니다. ※ 배열의 크기 확인하기변수명 위에 마우스를 올리세요 참고https://gdngy.tisto.. 2025. 3. 26.
4 함수 💻 4강: 함수🟢 프로그램 실행 흐름프로그램이 실행되면 main() 함수가 먼저 실행됩니다.main() 함수가 종료되면 프로그램도 종료됩니다.🟢 증감연산자 사용법특별한 이유가 없다면 전위형(++변수)을 사용하는 것이 권장됩니다.🟢 반복문 사용법🔎 For문for (초기값; 유지조건; 반복자 변경) { // 실행할 코드}for (int i = 0; i 🔎 While문while (유지 조건) { // 실행할 코드}🖥️ 함수 – 콘솔창 printf(), scanf()🔎 전처리#include를 사용해 헤더 파일을 포함하여 기능을 확장합니다.#include 🔎 콘솔 출력 (printf())printf("출력할 내용");✅ 서식 지정자 (Format Specifiers)서식 지정자설명예시 (pri.. 2025. 3. 26.
3. 연산자 및 전처리 구문 C++ 연산자 및 전처리 구문 총정리 🚀C++ 연산자  📌🔢 산술 연산자연산자설명예제+덧셈a + b-뺄셈a - b*곱셈a * b/나눗셈a / b%나머지a % b 📌 기본 연산 및 변수int data = 10 + 10; // 20data + 20; // 저장되지 않고 날아감data = data + 20; // 40 (data += 20 과 동일)🔢 나머지 연산자 %정수형(📌int) 에서만 사용 가능실수형(📌double, float) 에 사용하면 컴파일 에러 발생int data = 10. / 3.; // 10 / 3 으로 계산됨// 경고: ‘double’에서 ‘int’로 변환 시 데이터 손실 가능int data = (int)(10. / 3.); // 명시적 형변환 → 경고 없음✅ boo.. 2025. 3. 24.