#include #include struct Point { int x, y; }; int main(void) { struct Point p; p.x = 1; p.y = 2; struct Point p1; p1.x = 3; p1.y = 4; double a, b, c; a = p1.x - p.x; b = p1.y - p.y; c = sqrt(a * a + b * b); printf("%.2f\n", c); return 0; } a = x좌표 거리의 차이 b = y좌표 거리의 차이 c의 제곱 = a의 제곱 + b의 제곱 c = 루트(a의 제곱 + b의 제곱)
#define _CRT_SECURE_NO_WARNINGS #include int isPrime(int n) // 소수인지 아닌지 알려주는 함수 { for (int i = 2; i * i = 1000) { printf("\n"); continue; } int primeCnt = 1; for (int i = 2; i
#include #pragma warning (disable : 4996) int main() { int arr[100][100] = { 0 }; int a, b; int value = 1; int k = 0; scanf("%d %d", &a, &b); while (1) { for (int i = 0; i < b; i++) { for (int j = 0; j < a; j++) { if (i + j == k) arr[j][i] = value++; } } k++; if (value - 1 == a * b) { break; } } for (int i = 0; i < a; i++) { for (int j = 0; j < b; j++) { printf("%3d", arr[i][j]); } printf("\n");..
우리는 함수를 접하기 시작하면서 매개변수와 인수라는 단어들을 많이 들어오고, 많이 사용해왔다. 그럼 매개변수와 인수의 정확한 차이는 뭘까? 매개변수는 함수 밖에서 전달된 값이 저장되는 변수이다. int add(int a, int b) { return a + b; } 위 코드에서 int a와 int b의 a,b가 매개변수이다. 인수는 함수를 호출할 때 괄호 안에 써서 전달하는 값이나 변수를 말하는 것이다. add(5, 3); 이 코드에서 괄호 안에 있는 5와 3이 인수이다.
#include void swap1(int, int); // call by value void swap2(int*, int*); // call by reference int main(void) { int a = 5, b = 8; printf("a = %d, b = %d\n", a, b); swap1(a, b); // 값에 의한 호출 printf("a = %d, b = %d\n", a, b); swap2(&a, &b); // 참조에 의한 호출 printf("a = %d, b = %d\n", a, b); return 0; } void swap1(int a, int b) { int temp = a; a = b; b = temp; } void swap2(int* a, int* b) { int temp = *a;..
선택 정렬은 아래 그림처럼 맨 앞의 수부터 제일 작은 수를 비교해 앞으로 보내는 과정을 반복하는 것이다. 현재 인덱스와 뒤의 가장 작은 값의 인덱스를 선택하여 교체하는 것에서 선택 정렬이라고 한다. #define _CRT_SECURE_NO_WARNINGS #include // 배열 출력 함수 void printArr(int value[], int n) { for (int i = 0; i < n; i++) printf("%3d", value[i]); printf("\n"); } // 선택 정렬 실행 함수 void selectionSort(int* value, int n) { int i, j; int min = 0; int temp = 0; // swap에 쓰기 위한 변수 (임시) // i for문 : fo..
버블 정렬은 사람이 이해하기 쉬운 정렬이면서, 가성비가 좋지 않은 정렬이다. 버블 정렬의 원리는 배열의 앞뒤 값을 비교하면서, 큰 값을 뒤로 넘기는 과정을 반복하는 것이다. #define _CRT_SECURE_NO_WARNINGS #include void BubbleSort(int arr[], int len); int main(void) { int arr[5] = { 4, 6, 1, 3, 9 }; int i; BubbleSort(arr, 5); // 정렬이 된 후 출력 for (i = 0; i < 5; i++) printf("%d ", arr[i]); return 0; } void BubbleSort(int arr[], int len) { int temp; for (int i = 0; i < len - ..
#define _CRT_SECURE_NO_WARNINGS #include #define SIDE 100 int arr[SIDE][SIDE]; // arr[100][100] void printarr(int n) { int i, j; for (i = 0; i 0) { for (i = 0; i < n; i++) { col += inc; arr[row][col..
포인터와 배열의 공통점? 뭐가 있을까? 지금부터 자세히 알아보겠다. 혹시 포인터의 개념이 잘 잡혀있지 않다면 관련 서적으로 좀 더 공부하거나, 아래 포인터의 개념을 설명한 글을 이해하고 오길 바란다. [C언어] 포인터가 대체 뭔데? / 쉽게 이해하는 포인터(Pointer)의 개념 (지금 포인터란 개념이 어려워도 스트레스 받지 말자. 많이 접하다 보면 익숙해진다.) 포인터란 무엇일까? 일상생활에서의 포인터는 어떤 화면을 가리키는 불빛이 나오는 물건 등으로 생각할 white-world.tistory.com 포인터 배열이란 각 배열의 값에 주소를 가지는 배열이다. 말 그대로 포인터변수(어떠한 변수를 가리키는 변수)가 배열로 있는 것이다. (포인터배열과 배열포인터는 완전 다른 것이다.) 일반적으로 배열의 이..
(지금 포인터란 개념이 어려워도 스트레스 받지 말자. 많이 접하다 보면 익숙해진다.) 포인터란 무엇일까? 일상생활에서의 포인터는 어떤 화면을 가리키는 불빛이 나오는 물건 등으로 생각할 수 있다. 프로그래밍에서도 같은 의미로 쓰인다. 다시 말해, 프로그래밍에서 포인터는 '어떤 변수를 가리키는 변수'이다. 그럼 가리킨다는 의미란 무엇일까? 손가락도 없는데 어떻게 가리킨다는 것일까? 이를 알기 위해서는 주소값이란 개념을 알아야 한다. 모든 변수는 자체의 값만이 아니라, 주소값도 가지게 된다. 변수의 주소값은 컴퓨터에 의해 임의로 정해진다. 우리는 주소값을 이용하여 어떤 변수를 가리키게 하고, 한 변수의 값을 다른 변수로 바꿀 수 있다. 주소값을 이용해서 어떤 변수를 가리키게 하기 위해 우리는 포..
#include int main(void) { char str[] = "Hello World!"; printf("str = %s\n", str); printf("str의 크기 : %d\n", sizeof(str)); // 왜 13이라고 나올까? printf("%d\n", sizeof("Hello")); // 왜 6이라고 나올까? return 0; } 위 코드에서 str의 크기는 왜 13이 나오고 Hello의 크기는 왜 6이 나올까? 그 답은, 항상 문자열의 끝에는 우리가 원하지 않아도 널 문자란 것이 붙기 때문이다. null 문자는 말 그대로 빈 문자란 뜻이다. 문자열 배열에서 null ( '\0' ) 문자는 문자열의 끝을 알기 위해서 쓰는 것이다. #include int main(void) { ch..
Sleep() 말 그대로 정해진 시간동안 잠자게 하는(?) 함수 일정 시간동안 프로그램을 정지시킬 때 사용하는 함수 windows.h헤더파일 안에 있다. ms(밀리세컨드) 단위이기 때문에 1초를 정지시키기 위해서는 Sleep(1000) 으로 입력해야 한다. #include #include #include < int main(void) { while (1) { printf("hello!\n"); Sleep(1000); } return 0; } tmi 이 함수가 왜 C언어에서 time.h 헤더파일에 있지 않고 windows.h 헤더파일에 포함되어 있느냐? 그 이유는 "Sleep함수는 C언어의 런타임 함수가 아닌 Windows 운영체제의 API 함수이기 때문이다."라고 설명할 수 있다. system() 시스템..