C (51) 썸네일형 리스트형 [C] 값 입력할 때마다 메모리 할당 #include #include #include int *temp, i = 0;void test(int input);int main(){ int input = 0; while(1) { printf("입력하세요 : "); scanf("%d", &input); test(input); } return 0;}void test(int input){ i += 1; temp = (int *)realloc(temp, sizeof(int) * i); temp[i - 1] = input; for(int j = 0; j [C] 2차원 배열 동적 할당 #define ROW 3#define COL 4char **ptr = NULL;ptr = (char**)malloc(sizeof(char*) * ROW); // 포인터 배열 개수 (행의 개수)*ptr = (char*)malloc(sizeof(char) * (ROW * COL)); // 2차원 배열 총 개수for(i = 1; i [C] 소문자는 대문자로 대문자는 소문자로 #include #include #include int UpperLower(char *temp);int main(){ char strtest[10] = {0}; strcpy(strtest, "aBcDeF!@#"); printf("Orinal Str - %s\n\n", strtest); UpperLower(strtest); printf("UpperLower - %s\n\n", strtest); return 0;}int UpperLower(char *temp){ for( ; *temp != NULL; temp++) { if(isalpha(*temp)) { *temp = *temp ^ 0x20; } } return 0;} [C] 시간 체크 #include #include #include #include // Sleep 함수를 사용하기 위한 헤더 파일int main(){ clock_t start, finish; double time_check = 0; start = clock(); Sleep(2000); finish = clock(); time_check = (double)(finish - start) / CLOCKS_PER_SEC; printf("%.2lf 초입니다.\n", time_check); return 0;} [C] 리본 모양 출력 (조건문 하나만 사용) #include int main(){ int height = 0, width = 0; int head = 0, tail = 0; int i = 0, j = 0; height = 11; // 줄 수 = 5줄, 리본의 크기, 홀수만 입력 width = height; // 칸 수 = 5칸 head = 1; tail = width - 2; for (i = 0; i = head && j = tail + 2 && j 리본 모양 출력하기는 쉬우나...코딩 조건이 조건문을 하나만 사용이여서 처음에 이걸 어떻게 하나 멍좀 때림 [C] _msize, 포인터가 가리키는 메모리의 크기 알아내기 #include #include #include int main(){ char *test = NULL; test = (char *)malloc(29); printf("size - %d\n", _msize(test)); return 0;} _msize를 사용하기 위해선 #include 헤더를 추가해줘야 한다.힙 영역에 할당된 메모리 크기만 구할 수 있다.스택에 할당된 배열의 시작 주소를 포인터에 초기화 시키고 그 포인터를 _msize의 매개변수로 넘기면 프로그램이 죽는다.※ sizeof는 스택에 할당된 메모리 크기를, _msize는 힙에 할당된 메모리 크기를 구할 수 있다. [C] 퀵 정렬(Quick Sort) #include #include #define SWAP(x, y, t) ((t) = (x), (x) = (y), (y) = (t))int partition(int list[], int left, int right){ int pivot = 0, temp = 0; int low = 0, high = 0; low = left; high = right + 1; pivot = list[left]; do { do { low++; }while(low = left && list[high] > pivot); if(low [C] 단일 연결 리스트 (Simple Linked List) 출처 - C로 배우는 알고리즘 (이재규 지음)#include #include typedef struct _node{ int key; struct _node *next;}node;void init_list(); // head와 tail 생성 및 초기화node *insert_after(int key, node *t); // 매개변수로 넘겨준 노드 다음에 새로운 노드 추가int delete_next(node *t); // 매개변수로 넘겨준 노드 다음 노드 삭제node *find_node(int k); // 매개변수로 넘겨준 key 값을 가지는 노드를 검색int delete_node(int k); // 매개변수로 넘겨준 key 값을 가지는 노드를 삭제node *insert_node(int k, in.. 이전 1 2 3 4 5 6 7 다음