일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 웹해킹
- DVP
- 버그헌팅
- 프로그래밍
- webhacking
- Pwnable
- 정보보호
- 워게임
- 해킹
- 코드게이트
- kangsecu
- 네퓨즈
- 블록체인
- 정보보안
- 포렌식
- wargame.kr
- webhacking.kr
- 버그바운티
- CTF
- C언어
- 시스템
- 포너블
- 문제풀이
- nefus
- WarGame
- 보안
- xcz
- 자료구조
- 선린인터넷고등학교
- hacking
- Today
- Total
목록Programming/c언어 (15)
kangsecu's B1og
BFS - 인접 리스트 #include #include #define TRUE 1 #define FALSE 0 #define MAX_VERTICES 50 typedef struct GraphNode { int vertex; struct GraphNode *link; } GraphNode; typedef struct GraphType { int n;// 정점의 개수 GraphNode *adj_list[MAX_VERTICES]; } GraphType; // 그래프 초기화 void graph_init(GraphType *g) { int v; g->n = 0; for (v = 0; vadj_list[v] = NULL; } // 정점 삽입 연산 void insert_vertex(GraphType *g, int v..
bubble sorting #include #include #define MAX_SIZE 10000 #define SWAP(x,y,t)((t)=(x),(x)=(y),(y)=(t)) int i; int list[MAX_SIZE]; void buble_sort(int list[],int n){ int cntA, cntB, temp; for(cntA = n-1;cntA >0; cntA--){ for (cntB=0;cntBlist[cntB+1]) SWAP(list[cntB],list[cntB+1],temp); } } } void main(){ int i; int list[MAX_SIZE]; int n =MAX_SIZE; for(i=0;i
12345678910111213141516171819202122232425262728293031323334353637383940typedef char element; /* 스택의 객체 자료형 정의 */ // 프로그램 5.3활용 // 괄호 검사 함수int check_matching(char *in){ StackType s; char ch, open_ch; int i, n = strlen(in); // n= 문자열의 길이 init(&s); // 스택의 초기화 for (i = 0; i
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182#include #include #include typedef int element; //int를 element라는 이름으로 새롭게 만듦for 가독성typedef struct StackNode { element item; struct StackNode *link;} StackNode; typedef struct { StackNode *top; //stacknode 타입의 링크만 있다.} LinkedStackType;// 초기화 함수..
1. LinkedList.h1234567891011121314151617181920212223242526272829303132333435363738394041#pragma once // 이 헤더파일 컴파일시 한 번만 실행하기 #ifndef LINKED_LIST_H // LINKED_LIST_H가 정의되어 있지 않다면 정의하고, 이미 정의되어 있다면 재정의하지 않음#define LINKED_LIST_H /* 단일연결리스트 ADT - 데이터 타입 정의 */typedef char Item; // 노드의 데이터 타입 Item형 지정 typedef struct _Node{ /* 노드 구조체(자기참조 구조체) */ Item data; // 노드 데이터 struct _Node *next; // 다음 노드에 대한 포인..
이번에는 C언어의 조건문에 대하여 설명하도록 하겠습니다. 우선 c언어의 조건문의 종류에는 주로 사용하는 것이 if문과 switch ,case문이 있습니다.우선 if문에 대하여 설명하도록 하겠습니다.1.IFif문은 c언어에서 가장 빈번히 사용되는 조건문으로, 한글로 '만약'이란 뜻과 동일하게 사용하면 됩니다.if문의 기본문법은 아래와 같습니다.1234567#include int main(){if(조건문)//실행문return 0;}cs이렇게 if문이 구성이 됩니다.이제 변수 a 를 사용자로부터 입력을 받고, 이 a의 값이 5보다 큰 경우, good을 출력하는 프로그램을 작성하도록 하겠습니다. 123456789#include int main(){int a;scanf("%d",&a);if(a>5)printf("..
[c언어- 반복문 for] 이번 시간에는 저번에 학습한 반복문 중 하나인 for문에 대하여 공부해볼 시간이다.for문은 매우 빈번하게 사용되며 그만큼 유용하고 중요한 부분이니 잘 숙지하고 넘어가자.자, 그럼 이제 for문에 사용법에 대하여 설명을 해볼 것 이다. for문의 사용법은 앞서 학습한 while문 보다는 조금 복잡한 편이다. for문의 사용법 은 아래와 같다. 12for(초기값;종료조건;증감식) { /*할 것 */ }cs 이렇게 해주면 된다. 눈치가 빠르다면 아마 while문 과의 차이를 알아 봤을 것 이다.두 문법에 차이점을 말해 보자면 while문은 1234while(조건문){ /*실행 시킬 코드 연산식*/ }cs 이렇게 된다. 그렇다 while문은 조건문과 연산식(증감식)이 따로 되있는 반..
[c언어- 반복문 while ] 이번 시간에는 반복문 while 문에 대하여 공부를 할 것이다. 우선 반복문 이란 말그대로 어떠한 명령을 반복적으로 실행 시키기 위해서 있는 것 이다. 예를 들어 hello world 를 10 번 을 출력 하고 싶을때 printf("hello world")로 10 번을 타이핑 하는 것 보다 pritnf("hello world")를 10번 타이핑을 해달라는 반복 명령을 내리는 것 이다. 그럼 직접 10 번을 타이핑 하지 않아도 원하는 기능을 수행 할 수 있다. 이처럼 반복문은 c언어 뿐만 아니라 여러가지 언어에서 매우 많이 활용된다. 반복문은 while 문 , for문 , while do 문 으로 구성되어 있는데 이번 시간에는 그중에서 while 문에 대하여 알아볼 것이다...