분류 전체보기 183

C언어 2차원 배열 동적 메모리 할당 후, 두 행렬의 곱 출력 - 공부하는 도비

사용자로부터 (n *n) 크기의 정방 행렬 두 개를 입력받은 후, 두 행렬의 곱(Matrix Multiplication) 출력 ● 입력 : 정수 하나를 입력 받음 2를 입력하면, (2 * 2) 행렬 2개에 대한 정수를 입력해야하므로, 각각 4가지 원소, 즉 8개 입력 4를 입력하면, (4 * 4) 행렬 2개에 대한 정수를 입력해야하므로, 각각 16가지 원소, 즉 32개 입력 ● 출력 : 입력한 두 행렬의 곱을 계산 후 출력 ● 예시 입력 ● 소스코드 #include #include int main(void) { int num; int sum_value = 0; int temp = 0; int **arr; printf("행렬의 크기 (n X n) => n : "); scanf("%d", &num); arr..

C Programming 2022.11.06

C언어 2차원 동적 메모리 할당 - 공부하는 도비

오늘은 2차원 배열을 선언하는 것처럼,2차원 동적 메모리 할당에 대해 알아보겠습니다. 지난 피드에서 C언어 동적 메모리 할당을 알아보았습니다. 자세한 내용은 아래 링크를 참고해주세요. 2022.11.06 - [C언어] - [C언어] 동적 메모리 할당을 통해 배열처럼 사용하기(mallloc(), calloc()) - 공부하는 도비 [C언어] 동적 메모리 할당을 통해 배열처럼 사용하기(mallloc(), calloc()) - 공부하는 도비 동적 메모리 할당 (Dynamic Memory Allocation) 프로그램 실행 도중 필요한 만큼 힙(heap) 영역의 메모리를 할당 받아 사용하는 방식입니다. 동적 메모리 할당시에는 malloc() 함수와 calloc() 함수가 있는데, yang-wistory1009...

C Programming 2022.11.06

동적 메모리 할당을 통해 배열처럼 사용하기(mallloc(), calloc()) - 공부하는 도비

동적 메모리 할당 (Dynamic Memory Allocation) 프로그램 실행 도중 필요한 만큼 힙(heap) 영역의 메모리를 할당 받아 사용하는 방식입니다. 동적 메모리 할당시에는 malloc() 함수와 calloc() 함수가 있는데, 우선 malloc()을 먼저 보겠습니다. 1. malloc() 하나의 인자로 할당 메모리 크기를 결정하고, 메모리 할당을 해제하기 위해선 free() 함수를 사용합니다. malloc()과 free() 함수 모두 stdlib.h 헤더 파일에 정의되어있어, 두 함수를 사용시 해당 헤더파일을 포함시켜야합니다. 아래 그림은 malloc을 사용하여 크기 3만큼의 메모리를 할당받는 예 입니다 . 동적할당을 마치 배열 처럼 사용할 수 있는데요, 아래 예시 코드를 살펴보겠습니다. ..

C Programming 2022.11.06

C언어 레지스터 변수 - 공부하는 도비

C언어를 사용하며 선언한 대부분의 변수는 메모리의 일정 공간을 할당받아 변수를 선언하고, 연산을 위해 CPU 내부 레지스터(register)로 복사되어 연산을 수행합니다. 또한, 저장이 필요한 경우 다시 레지스터 값을 메모리에 저장을 합니다. 따라서, 메모리를 읽어 레지스터로 복사하는 과정과 다시 레지스터에서 변경된 값을 메모리에 쓰는 과정이 필요합니다. 이러한 과정을 거치지 않기 위해서 C언어는 레지스터 변수라는 것을 사용합니다. 레지스터 변수 메모리가 아닌 레지스터 공간에 할당하여 사용하는 변수 레지스터 변수의 가장 큰 장점은 메모리 접근이 이뤄지지 않기 때문에, CPU 내부에서 빠른 연산을 통한 프로그램 전체 성능에 도움을 줍니다. 아래 그림처럼, 일반적인 변수는 선언한 변수가 메모리의 일부분에 저..

C Programming 2022.11.06

C언어 전역 변수, 지역 변수, 외부 변수 - 공부하는 도비

프로그래밍 수업을 할 때 학생들이 지역/전역 변수를 헷갈려해 아래와 같은 코드를 두고, 왜 오류가 나는지 묻는 경우가 있습니다.. 그래서 이 내용에 대해 정리를 좀 해두려고 합니다. 아마 main() 함수 안에 정의한 a, b를 당연히 sum() 함수에서 쓸 수 있다고 생각하는 거 같습니다. ㅜㅜ #include int sum(int p, int q) { return a + b + p + q; } int main() { int a = 10; int b = 20; int c = 100; int d = 200; printf("%d", sum(c, d)); return 0; } C언어의 변수에는 지역 변수, 전역 변수, 그리고 외부 변수로 크게 3가지로 나눌 수 있습니다. (정적, 레지스터 변수로도 나눌 수 ..

C Programming 2022.11.06

C언어 피보나치 수열 출력하기 - 공부하는 도비

2022.10.28 - [C언어] - [C언어] 재귀 함수를 사용한 피보나치 수열 - 공부하는 도비 [C언어] 재귀 함수를 사용한 피보나치 수열 - 공부하는 도비 https://ko.wikipedia.org/wiki/%ED%94%BC%EB%B3%B4%EB%82%98%EC%B9%98_%EC%88%98 피보나치 수 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 피보나치 수를 이용한 사각형 채우기 수학에서.. yang-wistory1009.tistory.com 저번 피드에서 재귀 함수를 이용하여, 입력한 수에 대한 피보나치 수를 계산해보았습니다. 오늘은 재귀함수 대신, 배열을 사용한 피보나치 수열 계산에 대해 알아보려고 합니다. 입력받은 수의 길이 만큼 새로운 배열을 만들고, 그 배열 ..

C Programming 2022.10.31

C언어 재귀 함수를 사용한 피보나치 수열 - 공부하는 도비

https://ko.wikipedia.org/wiki/%ED%94%BC%EB%B3%B4%EB%82%98%EC%B9%98_%EC%88%98 피보나치 수 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 피보나치 수를 이용한 사각형 채우기 수학에서 피보나치 수(영어: Fibonacci numbers)는 첫째 및 둘째 항이 1이며 그 뒤의 모든 항은 바로 앞 두 항의 합인 수열이다. ko.wikipedia.org 오늘은 임의의 양의 정수 n을 입력하면 n번째 피보나치수열의 값을 출력하는 프로그램을 재귀 함수를 사용하여 구해보도록 하겠습니다. #include int fibo(int num) { if (num

C Programming 2022.10.28

버블 정렬 (오름차순 정렬) - 공부하는 도비

파이썬엔 sort라는 좋은 함수가 있어, 굳이 정렬 함수를 작성하진 않아도 된다. 하지만, 정리해두면 누군가에겐 도움이 되지 않을까해서 글을 쓰고 있다. 우선 sort 함수를 쓰면 정말 간단하게 배열을 정렬할 수 있다. 자세한 내용은 아래 링크를 활용하면 좋을 듯 합니다. 2020.12.23 - [파이썬/파이썬 이론] - [파이썬] 정렬하기 list.sort(), sorted(), 키 함수 사용 - 공부하는 도비 [파이썬] 정렬하기 list.sort(), sorted(), 키 함수 사용 - 공부하는 도비 오늘은 파이썬 정렬함수에 대해 알아보겠습니다.! 파이썬에서 정렬가능 함수는 list.sort()함수와 sorted()함수 두가지 있습니다. * list.sort() 와 sorted() 함수 차이 list..

Python/Python Basic 2022.10.28