분류 전체보기 501

포인터

C언어의 가장 큰 특징이자 장점이라고 할 수 있는 부분이다. 특정 데이터가 저장된 메모리의 주소를 저장하는 변수라고 할 수 있다. 다른 곳의 주소 그 자체를 가리키기 떄문에 이를 응용하여 다양한 연산을 수행 할 수 있다. 뿐만 아니라 프로그램의 어떠한 위치에서 시행되더라도 특정한 주소를 그대로 이용하기 떄문에 값이 즉시 변경된다는 특징을 가지고 있다. 다른변수가 위치한 그 공간을 바로 접근함으로써 값을 바꾸거나, 바로 처리 할 수 있다. 포인터를 사용할떄는 꼭 *를 사용해야한다. 또한 메인메소드에서 매개변수를 넣어줄때도 &을 사용해야한다.(주소를 가리킬때는 &을 사용하기 떄문이다.) 실제로 swipe함수는 많이 사용되며 잘 이해해야한다. 다양한 운영프로그램을 사용하기도 하면서 해킹할떄도 이용하기도 한다...

C/기초 2019.07.26

배열이란

배열은 쉽게 말해 데이터가 많을 때 사용하는 것이다. 가장 간단한 프로그램 예제에서는 단순히 한 두개의 변수만으로 프로그램을 작동시킬 수 있었지만 현실에서의 다양한 프로그램에는 아주 많은 양의 데이터가 사용되는 것이 일반적이다. 따라서 데이터가 많을 때 주로 배열을 이용할 수 있다. 이때 배열은 한없이 많을 수 있으면서도 그 데이터 개수가 변경될 수 있는 데이터들의 집합을 지정해줄 수 있기에 효괒거으로 대부분의 프로그램에 사용된다. #ifdef _MSC_VER #define _CRT_SECURE_NO_WARNINGS #endif #define NUMBER 5 //배열을 만들때 이렇게 이용한다. #include // 5개의 정수중에서 최댓값과 최솟값의 위치를 출력하는 프로그램 int main(void) {..

C/기초 2019.07.25

반복 함수와 재귀함수

반복 함수는 단순히 while혹은 for 문법을 이용하여 특정한 처리를 반복하는 방식으로 문제를 해결하는 함수이다. 반면에 재귀 함수는 자신의 내부에서 자기 자신을 스스로 호출함으로써 재귀적으로 문제를 해결하는 함수이다. 재귀 함수는 경우에 따라서는아주 간결하고 직관적인 코드로 문제를 해결할 수 있게 해주지만 때에 따라서는 심각한 비효율성을 낳을 수 있기 때문에 알고리즘을 작성할 떄 유의할 필요가 있다. #ifdef _MSC_VER #define _CRT_SECURE_NO_WARNINGS #endif #include // 숫자 피라미드 출력하기 (반복함수를 이용해서 숫자 피라미드를 출력한다.) // 반복함수같은 경우에는 오직 for 문과 while문으로 구성이 된다. int print(int a) { i..

C/기초 2019.07.25

사용자 정의 함수

정해진 특정한 기능을 수행하는 모듈을 의미하며 함수를 적절히 활용하면 하나의 문제를 잘게 분해할 수 있다. 예를들어 이진 탐색 트리는 삽입, 삭제, 순회 등 다양한 함수의 집합으로 구성된다. 만약 사용자 정의 함수가 없다면 오직 메인 함수에서 모든 알고리즘을 처리해야 하는데 이는 작업의 효율성을 저하시킬 수 있다. 또한 함수는 각각의 모듈로서 쉽게 수정되고 보완될 수 있다는 장점이 있다. (즉 매인함수의 크기를 줄여주고 특정한 함수를 분해해서 나중에 합친다. 매인함수가 짧고 다른함수가 많을수록 더욱 더 잘 짜여진 프로그램이라고 할 수 있다. 더 가독성이 좋은 프로그램이라고 할 수 있다.) #ifdef _MSC_VER #define _CRT_SECURE_NO_WARNINGS #endif #include /..

C/기초 2019.07.25

기본 입출력 추가 설명

- 가끔 버퍼가 프로그램 동작을 방해한다. C언어에서는 간단하게 getchar()함수로 버퍼의 공백 문자를 받아 낼 수 있다. - 주석은 일단 최대한 많이 작성하는 습관을 들여라. 주석은 컴파일 단계에서 제거되기에 프로그램의 크기와는 상관 없기 때문이다. - scanf()함수를 사용할 때 변수 이름 앞에 &를 붙여야 한다. - 형식 지정자를 %c로 하면 엔터(ENTER)로 하나의 공백 문자로서 입력 받을 수 있다.

C/기초 2019.07.25

기본 입출력

#include 이곳 스탠다드인풋아웃풋 해드업 파일안에는 전부 이미 입출력함수가 들어가 있는 상황이기 때문에 따로 import를 하지 않아도 된다. C언어에서는 기본 입출력 함수를 이용하여 사용자와 상호작용 할 수 있다. 대표적으로 scanf("%d", &x)라는 x라는 정수에 사용자에게 입력받은 값을 삽입한다는 의미의 코드이다. 다만 사용자로부터 입력 받을 자료혀엥 따라서 %d, %c, %f, %lf 등의 다양한 문법을 사용해야 한다는것에 유의해야 한다. 그리고 반면에 프로그램에서 사용자에게 메세지를 출력할 때는 가장 대표적으로 printf();를 이용한다. 물론 이들은 텍스트 기반의 입출력이며 나중에 GUI를 배우게 되면 사용자에게 글자 뿐만 아니라 이미지도 보여줄 수 있다. #ifdef _MSC_V..

C/기초 2019.07.25