| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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++ 언어 #핵심정리
- Bandit
- MySQL #핵심정리
- C언어 #부록
- C++ 언어 # 핵심 정리
- PHP #핵심정리
- Hacking #Baic
- C언어 #핵심정리
- C++ 언어 # 핵심정리
- HTML #핵심정리
- shell_script
- C언어 # 핵심 정리
- Today
- Total
목록전체 글 보기 (60)
cCcode
1. 2차원 배열 사용하기 - 2 2차원 배열의 요소를 초기화 하는 방법은 다음과 같습니다. 2차원 배열의 요소에 값을 할당하는 방법은 다음과 같습니다. 이처럼 1차원 배열과 2차원 배열은 초기화 하거나 인덱스로 접근하는 등 동일하다고 봐도 될 만큼 유사한 면이 많습니다. 2차원 배열의 크기를 구하는 법은 다음과 같습니다. 그전에 1차원 배열은 단일 포인터에 넣을 수 있다고 말씀드렸죠. 그러면 2차원 배열은 이중포인터에 넣을 수 있지 않을까요? 어라..? 간접 참조 수준이 다르다는 경고가 뜨네요. 실행해보면 numPtr[0][0]의 값이 출력되지 않습니다. 그래서 2차원 배열을 포인터에 담으려면 특별한 방법이 필요합니다. 즉, 포인터를 선언할 때 *(Asterisk)과 포인터명을 괄호로 묶어준 뒤 [ ]..
1. echo() 함수 echo()함수는 문자열을 출력하게 해줍니다. 사실 echo()는 실제함수가 아니기 때문에 괄호를 생략해도 문제는 없습니다. 다만, 두개 이상의 인수를 전달할 때는 반드시 괄호를 사용해야합니다. 방금 언급한 것처럼 PHP에서는 대소문자 구분 하지 않습니다. 그래서 echo가 아닌 ECHO를 사용해도 같은 동작을 합니다. 그리고 PHP 문법 안에서도 Html 태그들은 동작합니다. 위에 쓰인 (break line)태그는 HTML 태그로서, 새로운 단락을 만들지 않고 줄을 나눠주는 역할입니다. 2. 변수(variable) 변수란 데이터를 저장하기 위해 프로그램에 의해 할당 받은 메모리 공간입니다. 즉, 데이터를 저장하기 위한 공간이라고 생각하시면 됩니다. 그리고 이름에서 알수 있듯이 실..
1. 반복문 사용해 배열의 모든 요소 출력 그전에 배열 요소의 개수를 구한 방법을 이용해서 배열의 모든 요소를 출력해보겠습니다. 이를 활용해 모든 요소들을 역순으로 출력할 수 있습니다. 역순으로 요소를 출력할 때는 배열의 개수 즉, 크기에 - 1 한 값부터 시작해야합니다. 그렇지 않으면 처음부터 배열의 인덱스를 벗어난 상태가 되기 때문에 처음 출력하는 인덱스 값이 쓰레기 값으로 출력되는 불상사가 발생할 수 있으니 주의해주세요. 배열 모든 요소의 합을 구할 때는 이처럼 더한 값을 저장하는 변수를 초기화 해줘야 합니다. 초기화하지 않으면 쓰레기 값이 들어있어 쓰레기 값과 요소의 값이 더해져 잘못된 결과가 출력됩니다. 즉, 값을 누적시키는 연산을 할 때는 항상 변수를 0으로 초기화 해주세요. 다만 제가 쓰는 ..
1. 메모리 사용하기 - 2 malloc 함수로 할당한 메모리에 값을 저장할 때는 포인터를 역참조한 뒤 값을 저장하면 됩니다. 마찬가지로 해당 값을 출력할 때는 포인터를 역참조하여 값을 가져오면 됩니다. 결과만 본다면 아무런 문제가 없어보입니다. 하지만 또 경고를 표시하는 녹색 줄이 보이네요. 저 경고는 [C6011: NULL 포인터 'numPtr'을(를) 역참조하고 있습니다.]라는 경고 입니다. 이 경고가 생긴 이유는 malloc 함수가 항상 성공하는 함수가 아니기 때문입니다. 시스템에 메모리가 부족하거나 메모리 할당 조건이 맞지 않는 경우에 malloc 함수는 NULL을 반환하게 됩니다. 그래서 malloc 함수가 NULL을 반환하는 경우 해당 코드에 오류가 날수 있기 때문에 미리 경고하는 겁니다. ..
1. _msize 함수 사용시 주의점 일단 _msize (heap에 할당된 메모리 크기 구하는) 함수는 visual studio라는 컴파일러에서만 제공하므로 다른 환경에서 사용할 수 없음을 미리 알려드립니다. 전 글에 있던 _msize 함수라는 제목의 사진을 보시면 초록색 밑줄이 있는거 보이시나요? 저 밑줄은 [C6387: numPtr2가 0일 수 있습니다, 이 경우 _msize 함수의 사양과 일치하지 않습니다]라는 경고 때문에 생긴겁니다. 이 경고는 제가 예외처리를 해주지 않아서 발생한거고요. 그럼 빠르게 예외처리한 코드를 보겠습니다. 이처럼 해당 포인터에 NULL 그러니까 아무것도 들어있지 않은 NULL Pointer를 반환하는 경우 goto 구문을 사용해 메모리 해제후 프로그램을 종료하도록 설계했습..
저는 Bitnami를 사용해서 php를 작성할 예정입니다. php는 이미 설치했지만 php가 제대로 설치되었는지 확인하기 위해 임의로 test.php 파일을 만들어 확인하겠습니다. test.php 파일은 apache2 > htdocs 폴더에 저장해야 합니다. 왜냐하면 브라우저가 웹서버(Bitnami로 설치한)에 어떠한 정보를 요청하면 웹서버는 htdocs 폴더에서 그 정보를 찾기때문입니다. 음.. 잘 나오는 걸 보니 정상적으로 설치되었네요. 1. PHP의 원리 사용자가 요청한 파일의 확장자가 .html일 경우에 웹서버는 파일을 그대로 읽어서 그대로 전송합니다. 즉, 한번 index.html이라는 웹 페이지를 만들었다면 그것은 언제나 같은 정보를 보여줍니다. 사용자가 요청한 파일의 확장자가 .php가 되면..
1. void 포인터 사용하기 C언어에서는 자료형이 정해지지 않은 void 포인터가 있습니다. void 포인터는 다음과 같이 void 키워드와 *(Asterisk)를 사용해 선언합니다. ◦ void * 포인터명; 기본적으로 자료형이 다른 포인터끼리 메모리 주소를 저장하면 컴파일 경고와 잘못된 값이 나오게 됩니다. + 경고(warning C4133: '초기화 중': 'short *'과(와) 'int *' 사이의 형식이 호환되지 않습니다.) 발생 결과를 보면 일단 numPtr에 num의 메모리 주소가 제대로 들어가있습니다. 그러면 자료형이 다르다고 해서 메모리주소가 저장되지 않는건 아닙니다. 그리고 역참조 연산자를 통한 num에서 가져온 값의 출력을 보면 알수없는 값이 있네요. 이런 값이 출력되는 이유는 그..
1. MySQL 소개 MySQL은 가장 널리 사용되는 관계형 데이터베이스 관리시스템으로 오픈소스이며, C언어, C++, JAVA, PHP등 여러 프로그래밍 언어를 위한 다양한 API를 제공합니다. SQL은 세가지로 분류됩니다. 1) DML(Data Manipulation Language) ○ 데이터 조작 언어 ○ 데이터를 조작(선택, 삽입, 수정, 삭제)하는 데 사용되는 언어 ○ DML 구문이 사용되는 대상은 테이블의 행 ○ DML을 사용하기 위해선 꼭 그 이전에 테이블이 정의되어 있어야합니다. ○ SQL문 중에서 SELECT, INSERT, UPDATE, DELETE가 이 구문에 해당됩니다. ○ Transaction이 발생하는 SQL도 이 DML에 속합니다. → 1) 테이블의 데이터를 변경(입력/수정/..