C(38)
-
C - C언어 for Beginner 개정 4판 연습문제 풀이
6장 반복문의 기초, for문 9번 입력된 문자열을 반대로 출력하면서 동시에 숫자는 #으로 변경하는 코드 만들기 #include #include int main(void){ char str[100]; int str_cnt; int i; printf("영문자 및 숫자를 입력: "); scanf("%s", str); printf("\n"); printf("입력한 문자열 ==> %s\n", str); printf("변환된 문자열 => "); str_cnt = strlen(str); for(i=str_cnt;i>-1;i--){ if(str[i]>47&&str[i]='A'&&ch='a'&&ch='0'&&ch
2022.06.27 -
C - strcpy, strncpy / strcmp
*strcpy 헤더 파일에 포함된 함수이며 함수의 형태는 strcpy(char a, char b)이며 b에 있는 문자열 전체를 a로 복사하는 함수이다. int main(void) { char a[] = "strcpy"; char b[10]; strcpy(b, a); printf("%s", b); return 0; } 출력 결과 strcpy *strncpy 헤더 파일에 포함되어 있는 함수이며 함수의 형태는 strncpy(char a, char b, size n)이며 b에 있는 문자열을 a로 복사하는데 n(size)만큼만 복사하는 함수이다. int main(void) { char a[] = "strcpy"; char b[10]; char c[] = "asdxv"; strncpy(b, c, 4); printf..
2022.05.23 -
C - 자료구조 연결리스트
연결리스트란 ? 원하는만큼 노드를 동적으로 추가/생성하여 사용하는 자료구조이다. 배열과 같이 특정 인덱스에 바로 접근하는것은 불가능하다. 왜냐하면 배열처럼 메모리에 정렬되어 있지 않고 각 노드들이 사방에 흩어져있는 형태이기 때문이다. 그렇기에 1~7의 노드가 존재한다고 가정하자. 내가 4번 노드에 접근을 하려면 1부터 4까지의 탐색을 통해 접근하여야 한다. 단일 연결 리스트의 경우 이전 노드의 주소를 저장하지 않기에 데이터의 저장은 HEAD노드 -> 마지막노드 한방향으로 값을 저장한다 먼저 NODE 구조체는 값을 저장하는 data, 다음 노드를 가리키는 next포인터변수가 존재한다. 처음 생성하는 Head 노드는 값을 저장하지 않고 다음 노드만을 가리키는 역할을 하며 당연히 처음 생성하면 Head노드의 ..
2022.05.19 -
C - 자료구조 덱
덱이란 ? deque은 double-ended queue의 약자이며 일반 큐와 다르게 전단 후단 모두 삽입 및 삭제가 가능하다. 당연히 덱의 중간에 값을 삭제하거나 삽입하는 것은 불가능하다. 덱의 추상자료형 creat() : 덱 생성 init(dq) : 덱 초기화 is_empty(dq) : 덱의 공백 상태 검사 is_full(dq) : 덱의 포화 상태 검사 add_front(dq, e) : 덱의 전단에 값 추가 add_rear(dq, e) : 덱의 후단에 값 추가 delete_front(dq) : 덱의 전단 값을 반환 후 삭제 delete_rear(dq) : 덱의 후단 값을 반환 후 삭제 get_front(q) : 덱의 전단 값을 삭제하지 않고 앞에 있는 요소를 반환 get_rear(q) : 덱의 후단 ..
2022.05.18 -
C - 자료구조 큐
큐(queue) 선입선출 방식을 이용한 데이터 타입이며 이와 같은 입출력 형태를 First-In First-Out으로 FIFO라고 한다. 큐는 뒤에서 새로운 데이터가 추가되고 앞에서 데이터가 하나씩 삭제되는 구조를 가지고 있다. 스택은 삽입과 삭제가 같은 쪽에서 이루어지지만 큐는 다른쪽에서 일어난다. 큐에서 삽입이 일어나는 곳은 후단(rear)이라 하고 삭제가 일어나는 곳을 전단(front)이라 한다. 큐의 기본 형태 객체 : 0개이상의 요소들로 구성된 선형 리스트 연산 : creat(max_size) : 최대 크기가 max_size인 공백큐를 생성 init(q): 큐를 초기화 is_empty(q): if(size ==0) return TRUE; else return FALSE; is_full(q): i..
2022.05.03 -
C - 자료구조 스택
스택이란? 스택은 위 그림과 같이 Data1->2->3->4 순서대로 삽입을 하지만 출력은 4->3->2->1 순으로 한마디로 출력순서가 입력순서의 역순으로 이루어져야 할 경우에 자주 사용되는 자료 구조이다. 이러한 입출력 형태를 후입선출(LIFO : Last-in-First-Out)이라고 한다. 스택에서의 입출력은 스택 상단에서만 일어나며 스택의 중간에서는 데이터를 삭제할 수 없다. 그리고 스택의 바닥부분을 스택 하단이라고 하며 스택 안에 저장되는 것들은 요소라고 한다. 스택에 요소가 하나도 없는 상태를 공백 스택이라고 한다. 이제 몇가지 예제를 통해 자세히 알아보도록 하자. 컴퓨터가 동작할때 수많은 함수의 호출이 이루어지는데, 이 함수들은 실행이 끝나면 자신을 호출한 함수로 되돌아가야 한다. 이럴때 ..
2022.04.07