C 9

C언어게임 현재 진행 상황

#define _CRT_SECURE_NO_WARNINGS 1 #include #include #include //맵사이즈 #define MapX 100 #define MapY 50 //오브젝트 할당수 #define EnemyCount 30 #define playerBulletCount 10 #define enemyBulletCount 10 #define ItemCount 10 #define TrapCount 10 //플레이어 좌표오차(크기) #define PlayerGunY -2 #define PlayerGunX 1 #define PlyaerSizeY 4 //적 좌표오차(크기) #define Weaphone1_Speed 4 #define EnemyHight -3 #define EnmeyWidth 3 //..

C 2023.09.21

6. malloc

malloc? [프로그래머가 메모리 할당과 해제를 할수있는 함수] 01. malloc으로 메모리할당 먼저 malloc을 사용하기 위해서는 #include 해야한다. #include int main(){ malloc(바이트 크기); reutrn 0; } 메모리 할당을 하기 위해서는 원하는 바이트 크기를 괄호안에 적어주면 메모리영역중 힙 이라는 영역에 크기만큼 할당 되게 된다. malloc(1); 주소에 있는 값을 출력해보면 #include #include int main() { printf("값: %d", *((int*)(malloc(1)))); } ▲아직 값을 초기화 하지 않아 엉뚱한 값이 출력되는 것을 볼수있다. -Tip- (int*)mallloc(1) - int형 주소로 변환후 *((int*)mall..

C 2023.09.01

5.다중포인터

c는 무슨값을 담고 a를 사용하려면 어떻게 해야되는가? c는 &b(b주소값) 을 가지고있다. 여기에 포인터를 붙이면 c = &b = &(&a)) *c = b = &(a) **c = *b = a 이렇게 이해할수있다. 구조체도 마찬가지로 포인터형 변수앞에 *를 붙여주거나 ->연산자를 사용하면 된다. 화살표 연산자를 사용하면 *하나를 생략할수있다. printf에는 변수명 scanf_s에는 변수의 주소 를 넣어주면 정상적으로 동작한다.

C 2023.09.01

4. 구조체

구조체는 하나이상의 자료형을 묶어 새로운 구조의 자료형으로 만들고사용할수있는 사용자정의 타입이다. 구조체의 크기는 구조체 안에 있는 자료형의 크기와 순서에 따라 달라지는데 8바이트 double이 가장큰 자료형으로 주소를 찍어보면 그림처럼 먼저 8바이트 크기에 char형과 int 형의 공간이 할당되고 나머지 8바이트 공간에 double형이 들어간다. 변수명에 .을 붙여 각 요소에 접근할수있다. 구조체형 포인터를 사용할때에는 ->(화살표) 연산자를 사용하여 요소에 접근할수있다.

C 2023.08.31

3.배열

배열? [다수의 데이터를 연속적으로 저장하고 사용할수있는 자료형] 01.배열 선언 선언방식 [자료형] [이름][크기] ; int name[10]; 이렇게 선언하면 int 타입의 변수가 10개로 이루어진 하나의 배열을 생성하고, 각 요소는 인덱스를통해 접근할수있다. int main() { char a[10]; for (int i = 0; i < 10; i++) { a[i] = 0; } char b[] = {0,0,0,0,0,0,0,0,0,0,0}; char c[10] = {}; //a, b, c배열 모두 값은 같음 } 모두 다른 방법으로 0의 값을 배열에 넣었다. int main() { int a[3][2] = { {0,1},{2,3},{4,5} }; for (int y = 0; y < 3; y++) { ..

C 2023.08.31

2.함수

함수란? [특정한 동작을 수행하는 코드블럭이다.] 01. 함수 정의 방법 함수 기본형태 //[반환형] [함수이름]( 매개변수) { //함수 동작 구현 } void Function() { //구현 } "Start" 를 출력 해주는 함수 만들기 #include void PrintStart() { printf("Start"); } int main() { PrintStart(); return 0; } #include void A() { //void는 반환 값이 없음 } int B() { return 1; } bool C() { return false; } double D() { return 3.141592; } int main()//메인함수도 값0을 return 하는 하나의 함수 { return 0; } 반환형..

C 2023.08.31

1.변수

변수란? [값을 저장하는 공간이다.] 변수는 변하는 숫자 라고 생각 할수있지만 프로그래밍 언어 에서 변수는 값을 저장하는 공간을 의미한다 변수의 사용 목적은 값을 저장하고 그 값을 사용하기 위함으로 값 주거나 변경할수 있다. 변수 선언은 변수를 사용하기 위해 메모리 공간을 할당받는것으로 자료형에 따라 자료의 크기나 저장하는 방식이 달라진다. int a; 를 하게 되면 이를 '변수를 선언했다 ' 라고 한다. 하지만 a의 값을 초기화 해주지 않아 의미없는 값이 들어있다. 즉 변수 선언시 초기화를 하지 않으면 메모리 공간은 할당받지만 값은 쓰레기 값이 들어 있다는 것이다. 값을 넣기 위해서는 [변수명] = [값]; 형식으로 값을 변수에 넣을수 있다. 프로그래밍 언어에서의 = 은 같다 라는 표현이 아니라 오른쪽..

C 2023.08.31