수학과의 좌충우돌 프로그래밍

C언어 - 메모리 동적할당

안녕하세요 강민성 입니다. 오늘은 C언어 메모리 동적 할당에 대해 알아보도록 하겠습니다. 우리가 프로그램을 작성할 때 변수가 배열을 선언 해줌으로서 저장 공간을 확보하게 됩니다. 처음부터 얼마 만큼의 메모리를 사용할지 안다면 문제가 없겠죠. 하지만 프로그램의 실행 도중, 저장 공간을 할당해야 하는 경우도 생길 것 입니다. 그럴 때 오늘 배울 메모리 동적 할당을 사용하게 됩니다. 메모리 동적 할당에 대해 알아보자! 1. malloc , free 함수 먼저 malloc 함수와 free 함수부터 알아보도록 하겠습니다. 우선 두 함수를 사용하기 위해서는 stdlib.h 헤더 파일을 include 해야 합니다. 1void *malloc (unsigned int size);cs 다음은 malloc 함수의 원형입니다..

프로그래밍 언어/C 2018. 12. 28. 20:35
유클리드 알고리즘과 확장된 유클리드 알고리즘

안녕하세요 강민성입니다. 오늘은 유클리드 알고리즘과 그 확장에 대해서 알아보도록 하겠습니다. 유클리드 알고리즘이란? 먼저 유클리드 알고리즘이란 유클리드 호제법이라고도 하며 두 수에 대해서 최대공약수를 구하는 방법입니다. 두 수가 일반적인 방법으로 최대 공약수를 구하기 너무 커졌을 때 이 유클리드 알고리즘을 사용하면 보다 쉽게 구할 수 있습니다. 이제 유클리드 알고리즘을 살펴보면 두 수 a,b에 대해서(a>b), a = q * b + r 라 하면 q 는 몫, r은 나머지가 됩니다. 이 때, gcd(a,b) = gcd(b,r) 이 성립하고 이와 같은 과정을 계속 거쳐 나머지가 0이 되었을 때 나누는 수가 a,b의 최대공약수에 만족하게 됩니다. 예시를 통해서 알아볼까요? 240꽈 46의 최대공약수를 구한다고 ..

알고리즘/파이썬 2018. 12. 1. 21:54