| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- C언어 # 핵심 정리
- C언어 #부록
- C++ 언어 # 핵심정리
- shell_script
- C언어 # 부록
- Bandit
- C++ 언어 #핵심정리
- MySQL #핵심정리
- C언어 #핵심정리
- PHP #핵심정리
- Hacking #Baic
- C++ 언어 # 핵심 정리
- HTML #핵심정리
- Today
- Total
목록전체 글 (60)
cCcode
1) 막대 그래프 그리는 프로그램 #include #include int i; enum Centimeter { nine_centimeter, eight_centimeter, seven_centimeter, six_centimeter, five_centimeter, four_centimeter, three_centimeter, two_centimeter, one_centimeter, }; void PRINT_GRAPH(enum Centimeter C) // 1 ~ 9 { int count; printf(" y\n\n"); printf(" 8%c", 24); // 3 - 5, 6 - 2 for (i = 0; i < 9; i++) { count = 0; if (i != 0) printf(" %c", 5); /..
1. 파일에 문자열 작성하기 지금까지는 printf 로 서식 지정자를 통해 문자열을 화면에 출력할 수 있었고, sprintf 로 서식 지정자를 통해 문자열을 생성할 수 있었습니다. 그러면 이제는 fprintf 를 활용해 파일에 문자열을 작성하는 방법에 대해 알아보겠습니다. 파일에 문자열을 작성하기 위해선 fopen 함수로 파일을 열어 파일 포인터를 얻은 뒤 fprintf 함수로 문자열을 작성하고 fclose 함수로 파일 포인터를 반환하면 됩니다. (파일에 선언되어있습니다.) 파일은 .c 파일이 있는 폴더에 생성됩니다. 파일 모드의 종류는 다음과 같습니다. 파일모드는 t 와 b 가 단독적으로 사용될 수 없으며, 일반적으로는 rb 나 rt 나 w+b 처럼 읽기/쓰기 모드와 텍스트/바이너리 모드를 조합해서 사..
1. 재귀함수 사용하기 함수에서 다시 동일한 함수를 호출하는 재귀함수를 만들어보겠습니다. 위 파일은 결과처럼 3990번 함수를 호출하다가 프로그램이 종료됩니다. 그 이유는 함수를 호출할 때 사용하는 스택이 넘쳐 스택 오버플로우(Stack Overflow)가 발생했기 때문입니다. 따라서 재귀호출을 사용할 때는 아래와 같이 반드시 종료조건을 만들어줘야 합니다. 재귀함수를 통해 흔히들 아는 팩토리얼을 구현해보겠습니다. 혹시나 모르는 분들을 위해 팩토리얼이란 1부터 n까지의 숫자를 곱한 값이며, 기호로는 ! 를 사용합니다. ex) 5! = 5 x 4 x 3 x 2 x 1 = 120 2. 함수 포인터 사용하기 C언어에서는 함수명으로 함수를 직접 호출합니다. 그렇다면 함수를 배열이나 구조체에 멤버 또는 요소로 넣거..
1. 함수에서 구조체 매개변수 사용하기 함수에 전달해야 할 매개변수의 개수가 많아진다면, 그 매개변수들을 하나의 단위로 묶어서 구조체를 사용할 수 있습니다. 그럼 매번 그 많은 매개변수들을 전달해야 할 필요가 없어지죠. 함수를 호출할 때 구조체 변수를 넣어주면 구조체 변수의 모든 멤버들이 매개변수로 복사됩니다. 단, 구조체 크기가 커지면 커질수록 그만큼 큰 공간이 필요하기에 효율적이라 말하긴 어렵겠네요. 보통 매개변수로 구조체를 전달할 때는 포인터를 사용해야 함수 외부에서도 수정한 구조체를 사용할 수 있습니다. 그 단편적인 예로는 다음코드를 보시죠. 분명히 함수에서 값을 수정했는데도 처음에 수정한 값으로 결과가 나왔습니다. 그 이유는 구조체의 멤버들이 포인터가 아니므로 함수 외부에 값을 전달할 수 없기 ..
1. 함수에서 배열 매개변수 사용 함수에서 배열을 매개변수로 사용하면 연속된 값을 전달할 수 있으며, 함수 내에서 전달 된 배열의 요소들을 수정할 수 있습니다. 함수에서 배열을 매개변수로 사용하려면 괄호 안에 매개변수 뒤 대괄호(크기 지정 X)를 사용하거나 포인터로 지정해주면 되요. 제가 저번시간에 대괄호에 들어가는 배열 크기를 생략한다고 했는데,, 그렇게 되면 함수에서는 배열의 실제 크기를 알지 못하기 때문에 그를 이용한 코드를 작성하고 나중에 수정할 때 에러 사항이 생깁니다. 그래서 sizeof(배열) / sizeof(자료형)을 통해 배열의 크기를 매개변수로 동시에 주게 된다면 배열의 크기를 알아 코드 작성이 용이할 뿐 만 아니라 유지보수 하는데도 도움이 됩니다. 여러분이 알고있는 것처럼 배열 또한 ..
쉘 스크립트는 쉘에게 어떤 명령을 실행할 지 알려주는 스크립트 파일입니다. 기본 명령어를 기반으로 하고, 이에 문법 몇가지를 추가한 형태이기 때문에 일반적인 프로그래밍 언어보다는 쉬운편에 속해요. C언어에서 #include int main() { return 0; } 가 기본 문법이 되듯이 쉘 스크립트에도 기본 문법이 존재하고 다음과 같습니다. 1) 쉘 스크립트는 파일로 작성 후, 파일을 실행해야 한다. 2) 파일의 가장 위 첫 줄에는 '#! /bin/bash"로 시작해야 한다. 3) 쉘 스크립트 파일은 실행 권한을 가지고 있어야 한다. 4) 일반적으로 .sh의 확장자를 명시해야 한다. 저는 칼리 리눅스 환경을 이용하겠습니다. 일단 shell_script 디렉토리를 mkdir 명령어로 생성하고 cd 명령..
1. 함수에서 매개변수 사용하기 매개변수를 사용하려면 함수를 정의할 때 괄호 안에 자료형과 변수 이름을 지정해주면 됩니다. 함수 안에서 파라미터로 전달된 값을 사용하려면 함수 정의를 하면서 명시한 변수명을 사용합니다. (파라미터로 전달할 때 사용한 변수가 아니라) 함수에서 매개변수를 여러 개 받으려면 매개변수를 ,(콤마)로 구분하면 됩니다. 이를 이용해 간단한 곱셈 연산을 수행해보겠습니다. 함수 안에 들어가는 값은 매개변수, 파라미터(parameter), 형식 매개변수(formal parameter), 인자(함수 바깥에서 전달 된 값이 저장되는 변수)등 많은 용어로 불립니다. 그리고 함수를 호출할 때 전달하는 값이나 변수는 인수, 전달 인자, 아규먼트(argument), 실행 전달인자(actual arg..
Level 14 ~ Level 15 [The password for the next level can be retrieved by submitting the password of the current level to port 30000 on localhost.] 비밀번호는 localhost의 포트 30000번으로 level 14의 비밀번호를 제출하면 얻을 수 있다고 하네요. 그럼 'nc 명령어'를 통해서 localhost에 포트 30000번으로 접속해보겠습니다. 그리고 level 14의 비밀번호를 입력하면 바로 나오네요. Level 15 ~ Level 16 [The password for the next level can be retrieved by submitting the password of the..