목록분류 전체보기 (339)
June is Combung
#include #include #include #define SIZE 50 typedef struct NODE{ char title[SIZE]; int year; struct NODE *link; }NODE; int main(void){ NODE *list = NULL; NODE *prev, *p, *next; char buffer[SIZE]; int year; while(1){ printf("책의 제목을 입력하세요(종료하려면 엔터): "); gets_s(buffer,SIZE); if(buffer[0] == NULL){ break; } p = (NODE*)malloc(sizeof(NODE)); strcpy(p->title, buffer); printf("책의 출판년도는?: "); gets_s(buffe..

//My.h #include #define TRUE 1 #define FALSE 0 void sort(int* arr, int size){ int i,j; int tmp; for(i = 0; i arr[j]){ tmp = arr[i]; arr[i] = arr[j]; arr[j] = tmp; } } } } #include #include "my.h" void print_arr(int* arr, int size){ int i = 0; for(; i < size; ++i){ printf("%d ", arr[i]); } printf("\n"); } void ex01(){ int a[6] = {10, 5, 7, ..
#include #include // malloc(), free() #include // strcpy_s() /* 1. 정적할당 -> 컴파일 시 결정되는 할당 -> 개발자가 미리 계획한 할당 ex) 변수/배열 선언 -> 한 번 태어나면 그 자료형이나 개수가 변경되지 않는다. -> 수명이 정해져있다. 지역 : 선언된 {}가 종료되면 전역 : 프로그램이 종료되면 .... -> 단점 1. 고정된 할당이기 때문에 배열의 경우 그 크기가 변경될 수 없다. 2. 수명이 결정되어있기 때문에 더이상 필요하지 않은 변수/배열임에도 자동으로 해제될 때까지 할당을 유지 ==> 비효율적인 메모리 사용 2. 동적할당 -> 런타임(실행) 중 결정되는 할당 -> malloc() 통해 할당하고, fre..
#include #include // exit(), system() typedef struct Node { int data; struct Node* next; } NODE; NODE* head = NULL; void print_all(){ NODE* tmp = head; while(tmp){ printf("%d ", tmp->data); tmp = tmp->next; } } /* init() : NODE를 생성하고, 초기화해준 다음, 그 주소를 return 인자값 : int data 리턴값 : 새 노드의 주소 */ NODE* init(int data){ NODE* tmp =(NODE*)malloc(sizeof(NODE)); tmp->data = data; tmp->next = NULL; return tm..
#include #include // time() #include // srand(), rand() typedef struct Pokemon { char name[40]; int lv; int hp; int ap; } POK; // TODO : 풀이, 구조체와 함수/배열/포인터 void quiz01(){ POK p1, p2, p3, p4; // Pokemon 구조체 변수 4개 만들기 // (+ 4칸짜리 배열1개도 가능) // scanf_s() 로 포켓몬 4마리의 이름, 레벨 입력 받기. // 체력(hp) : 레벨의 100배 // 공격력(ap) : 레벨의 10배 (+ rand() 를 사용하여 20% 확률로 15배) srand(time(NULL)); printf("이름 : "); scanf_s("%s", p..
#include #include /* - 여러 형태의 변수를 한 세트로 묶어서 새로운 나만의 자료형으로 만드는 것 */ // 구조체 정의(설계도 만들기) /*struct student { char name[100]; // 필드 (= 멤버변수) int kr; int en; int ma; double avg; }; typedef struct student ST; // struct student 를 ST 라는 이름의 자료형으로 지정하겠다 */ typedef struct student { char name[100]; // 필드 (= 멤버변수) int kr; int en; int ma; double avg; }ST; #include void ex03(){ ST s1; //stru..