목록(Telechips) AI 시스템 반도체 SW 개발자 교육/C (9)
printf("ho_tari\n");

2025.02.28 연결리스트의 응용 : 다항식- 다항식을 컴퓨터로 처리하기 위한 자료구조- 하나의 다항식을 하나의 연결리스트로 표현 다항식의 덧셈 구현- 2개의 다항식을 더하는 덧셈 연산 구현#define _CRT_SECURE_NO_WARNINGS#include #include #include typedef struct ListNode { int coef; // 계수 int expon; // 지수 struct ListNode* link;} ListNode;// 연결 리스트 헤더typedef struct ListType { int size; ListNode* head; ListNode* tail;} ListType;// 오류 메시지를 출력하는 함수void error(char* message) { fpri..

2025.02.27 큐(QUEUE)- 먼저 들어온 데이터가 먼저 나가는 자료구조- 선입선출 (FIFO, First In First Out)- 예) 매표소의 대기열 큐의 응용직접적인 응용- 시뮬레이션의 대기열- 통신에서의 데이터 패킷들의 모델링에 이용- 프린터와 컴퓨터 사이의 버퍼링 간접적인 응용- 스택과 마찬가지로 프로그래머의 도구- 많은 알고리즘에서 사용됨 선형큐- 배열을 선형으로 사용하여 큐를 구현- 삽입을 계속하기 위해서는 요소들을 이동시켜야 함 #define _CRT_SECURE_NO_WARNINGS#include #include #define MAX_QUEUE_SIZE 5typedef int element;typedef struct { int front; int rear; element data..

2025.02.26 파일 입출력 팩토리얼 프로그래밍int factorial(int n){ if (n 팩토리얼 함수의 호출 순서- factorial(5) = 5 * factorial(4) = 5 * 4 *factorial(3) = 5 * 4 * 3 * factorial(2) = 5 * 4 * 3 * 2 * factorial(1) = 5 * 4 * 3 * 2 * 1 순환 알고리즘의 구조 - 만약 순환 호출을 멈추는 부분이 없다면?- 시스템 오류가 발생할 때까지 무한정 호출하게 된다. 팩토리얼의 반복적 구현int factorial_iter(int n){ int k, v = 1; for (k = n; k > 0; k--) { v = v * k; } return(v);} 거듭제곱 구현 함수double slow..

2025.02.25 함수포인터 메모리 동적 할당 사용자 정의 자료형 파일 입출력#define _CRT_SECURE_NO_WARNINGS#include int main(int argc, char** argv) { int i; /*for (i = 0; i #define _CRT_SECURE_NO_WARNINGS#include #include /*void app() { int** matrix; // 4개의 행 공간의 할당 matrix = (int**)malloc(4 * sizeof(int*)); // 5개의 열 공간의 할당 for (int i = 0; i #define _CRT_SECURE_NO_WARNINGS#include #include #include /*// 구조체 선언 (명시적)struct stud..

2025.02.24 #define _CRT_SECURE_NO_WARNINGS#include #include /*int main(void) { char str[80]; char result[80] = { 0 }; int i = 0; printf("단어 입력 : "); scanf("%s", str); for (; i 0) { strcpy(temp, str1); strcpy(str1, str2); strcpy(str2, temp); } if (strcmp(str1, str3) > 0) { strcpy(temp, str1); strcpy(str1, str3); strcpy(str3, temp); } if (strcmp(str2, str3) > 0) { strcpy(temp, str2); strc..

2025.02.21 배열과 포인터의 차이점 1. sizeof 연산의 결과가 다르다.2. 변수와 상수의 차이가 있다. 값주소포인터*bb변수a&a double ary[5] = { 1.2, 3.5, 7.4, 0.5, 10.0 };double *pa = ary;double *pb = ary + 2; ary배열 100 108 116 124 132 1.2 3.5 7.4 0.5 10.0 ary = 100*(ary + 1)= 3.5pa + 2 = 116pa[3] = 0.5*pb = 7.4pb - pa = 16 #define _CRT_SECURE_NO_WARNINGS#include /*int main(void) { int array[4]; for (int i = 0; i max)..

2025.02.20 Git 설치git-scm.com → 64bit Git for Windows setup download1. github에서 저장소 생성2. git초기화 : git init > .git 폴더가 생성됨 (rm -rf .git으로 삭제 가능)3. 트렁크에 파일 담기 : git add .4. 보낼 주소 등록 : git remote add origin https://github.com/아이디/저장소.git5. 태크 확인 : git remote -v6. 설명문 추가 : git commit -m "메시지"7. 보내기 : git push origin master파일 내용 수정 시 수정 된 내용 표시 : git status수정 업로드 위해선 3, 6, 7번 작업 수행branch 새로 추가 : git b..

2025.02.19 연산 2의 보수 : 현재 자리수에서 1큰수(1111+1 = 10000)에서 현재의 값을 뺀값 -37의 10의 보수 구하기 52 - 37의 연산을 수행하면 52 + (-37)과 같음2자리의 수의 최고값 99에서 +1을 한 100에서 37을 뺀값 6352 + 63 = 115 → 15 https://youtube.com/shorts/ui27izD0mp4?feature=share#define _CRT_SECURE_NO_WARNINGS#include #include #include // #define bool _Bool// typedef _Bool bool;/*int main() { char a; int b; b = 10; a = (char)b; printf("%d\n", a);}*//*int..