본문 바로가기

programming study/C

(9)
[나도코딩]C 프로그래밍 - 입문부터 게임 개발까지 (9)(2020.12.30) 본 내용은 해당 강의 토대로 작성 파일 입출력 변수의 값들은 컴퓨터의 메모리 상에 저장된다. 메모리는 프로그램이 종료되면 그 값들이 날아가게 된다. 반면, 파일은 종료를 해도 별도로 저장되기 때문에 다시 그대로 불러올 수 있다. 파일 쓰기 fputs 명령어를 통해서 컴퓨터의 공간에 파일을 생성하고 데이터를 저장할 수 있다. #define _CRT_SECURE_NO_WARNINGS //파일 쓰기를 사용하기 위해 정의 #include #define MAX 10000 //소스코드 어디서나 MAX는 10000이라는 상수 정의 int main(void) { char line[MAX]; //char line[10000] FILE *file = fopen("/Users/jaeminjeon/test1.txt","wb"..
[나도코딩]C 프로그래밍 - 입문부터 게임 개발까지 (8)(2020.12.29) 본 내용은 해당 강의 토대로 작성 구조체 많은 변수가 있을 때, 그 변수들을 관련있는 것끼리 묶어서 선언할 수 있다. 이를 구조체라고 한다. #include struct GameInfo { char * name; int year; int price; char * company; }; int main(void) { return 0; } 구조체의 선언은 main 함수 전에 한다. GameInfo라는 구조체는 name,year,price,company라는 정보를 받는다. 구조체 사용 생성한 구조체는 변수 생성시 자료형처럼 앞에 붙여준다. #include struct GameInfo { char * name; int year; int price; char * company; }; int main(void) { ..
[나도코딩]C 프로그래밍 - 입문부터 게임 개발까지 (7)(2020.12.29) 본 내용은 해당 강의 토대로 작성 다차원 배열 다차원 배열(Multidimensional Array)은 1차원 이상의 배열을 말한다. 가지는 차원 수 만큼 괄호를 추가한다. #include int main(void) { int i ; //메모리 공간 하나 int arr[5]; //1차원 배열 int arr2[2][5]; //2차원 배열 int arr3[4][2]; //2차원 배열 int arr4[3][3][3]; //3차원 배열 return 0; } 다차원 배열 좌표 위의 배열들을 예시로 다차원 배열 접근은 어떻게 하는지 알아보자. int arr[2][5]인 2차원 배열의 경우 메모리 공간이 2행 5열로 생긴다. 각각의 좌표는 아래와 같다. □□□□□ □□□□□ [0,0][0,1][0,2][0,3][0,..
[나도코딩]C 프로그래밍 - 입문부터 게임 개발까지 (6)(2020.12.28) 본 내용은 해당 강의 토대로 작성 포인터 변수를 선언할 때, 컴퓨터는 변수의 메모리 공간을 만들고 그 값을 넣는다. 여기서, 변수의 메모리 공간의 위치는 주소값으로서 변수에게 할당된다. 이것은 아파트에 입주하는 것과 비슷하다. 철수, 영희, 민수가 아파트에 입주할 때, (변수선언) 각각 자신의 집을 찾아 간다.(메모리 공간) 집을 구분하고 찾아가려면 주소(주소값)를 알아야 한다. 그리고 각 문에는 암호가 있을 것이다.(변수의 값) 이를 토대로 예시를 들어보자. #include int main(void) { int 철수 = 1; //변수 선언, 집의 암호 int 영희 = 2; int 민수 = 3; printf("철수네 주소 : %p, 암호 : %d\n", &철수, 철수); printf("영희네 주소 : %..
[나도코딩]C 프로그래밍 - 입문부터 게임 개발까지 (5)(2020.12.27) 본 내용은 해당 강의 토대로 작성 배열 배열은 연속된 데이터의 변수를 가질 수 있는 자료형이다. 여러 개의 변수를 동시에 생성하는 것과 같다. 배열의 선언은 아래와 같다. 자료형 배열명[배열 범위]; 배열명[인덱스] = 값; … 자료형 : 배열 값의 자료형이다. C에서의 배열은 한 자료형만 가질 수 있다. 배열 범위 : 배열이 가질 데이터의 수 인덱스 : 각 배열값의 번호. 첫 번째 배열의 번호는 0번이다. 배열의 구체적인 예시를 들어보자. #include int main(void) { int subway_array[3]; //정수형 변수 3개 인덱스는 0부터 시작 [0],[1],[2] subway_array[0] = 30; subway_array[1] = 40; subway_array[2] = 50; ..
[나도코딩]C 프로그래밍 - 입문부터 게임 개발까지 (4)(2020.12.27) 본 내용은 해당 강의 토대로 작성 함수 입력값이 있으면 동작을 한 뒤 출력을 하는 것을 함수라고 한다. 계산기 C에서 함수를 선언, 정의하는 방법은 아래와 같다. #include void p(int num); // 함수 선언 int main(void) { return 0; } void p(int num) // 함수 정의 { printf("num 은 %d 입니다\n", num); } int main(voud) 함수의 밖을 기준으로, 맨 위에는 선언을 아래에는 정의를 한다. 정의한 함수로 계산기를 만들어 본다. #include void p(int num); // 함수 선언 int main(void) { int num = 2; p(num); //2 출력 // 2 + 3 은? num = num + 3; // n..
[나도코딩]C 프로그래밍 - 입문부터 게임 개발까지 (3)(2020.12.26) 본 내용은 해당 강의 토대로 작성 조건 / 분기 C에서 조건 / 분기는 다음과 같다 if / else if / else break continue and / or switch if / else if / else 조건문 if else의 문법은 아래와 같다 if(조건){ 실행할 명령 } else{ 실행할 명령 } 위 문법을 이용해서, 초등학생 (8~13) / 중학생(14~16) / 고등학생(17~19)으로 구분하여 출력해보자. #include int main(void) { int age = 25; if(age >= 8 && age = 14 && age = 17 && age
[나도코딩]C 프로그래밍 - 입문부터 게임 개발까지 (2)(2020.12.26) 본 내용은 해당 강의 토대로 작성 경찰서 조서 출력 배운 것을 토대로 범죄자의 신분을 입력 받아, 그것을 출력해본다. #include int main(void) { char name[256]; //문자열 선언 printf("이름이 뭐예요?"); scanf("%s", name, sizeof(name)); //문자열 입력 받기, 256을 넘지 않게 함 int age; //정수 선언 printf("몇살이에요?"); scanf("%d", &age); //정수 앞에는 &붙임 float weight; //실수 선언 printf("몸무게는 몇 kg 이예요?"); scanf("%f" , &weight); //실수 앞에도 &붙임 double height; //더 긴 실수(double) printf("키는 몇 cm 이예요..