전체 글

동적 메모리 할당 : (C언어에서) 필요한 만큼의 메모리를 운영체제로 부터 할당 받아서 사용하고, 사용이 끝나면 시스템에 메모리를 반납하는 기능 // 동적 메모리 할당의 예 #include #include #include #define SIZE 10 int main() { int *p; // p가 가리키는 장 p = (int *)malloc(SIZE * sizeof(int)); printf("현재 p에 저장된 참조값 : %d\n",p); if (p == NULL) { fprintf(stderr, "메모리가 부족해서 할당할 수 없습니다.\n"); exit(1); } for (int i=0; i 동적 메모리 블럭의 시작 주소를 반환 printf("%d",malloc(sizeof(int))); 출력값 : 72..
// 하노이탑 문제 #include #include // 원판 n개를 막대 from으로 부터 to로 other을 이용하여 옮긴다. void hanoi_tower (int n, char from, char to, char other) { // 원판이 1개인 경우 if(n==1) printf("원판 1을 %c 에서 %c 로 옮긴다.\n", from, to); else { hanoi_tower (n-1, from, other, to); printf("원판 %d를 %c에서 %c로 옮긴다.\n", n, from, to); hanoi_tower (n-1, other, to, from); } } int main() { hanoi_tower(4,'A','B','C'); return 0; } /*출력값 원판 1을 A 에..
#include #include int main() { // 재귀적으로 호출되는 팩토리얼 함수 int factorial(int n) { printf("factorial(%d)\n",n); if (n
// 포인터 기초 , 포인터를 이용한 새로운 값 저장 #include #include main() { int age; // age 변수 정의 int * pAge; // 정수형 변수를 가리키는 포인터 정의 age = 19; // age에 19를 저장 pAge = &age; // 포인터와 변수를 연결 // 포인터와 변수 출력 함수 void print() { printf("변수 age : %d\n", age); printf("포인터 *pAge : %d\n\n\n", *pAge); } // print. 초기 포인터 출력 printf("초기값 출력\n"); print(); // 변수에 새로운 값을 저장하기 // 1. 변수에 직접저장 age = 24; printf("\nage=24\n"); print(); // 2..
//p309 // 난수 10개 생성 후 가장 작은 수 출력 #include #include #include main() { int distance[10]; time_t t; srand(time(&t)); // distance 리스트에 난수 생성하여 저장 for(int i=0;i
## 10개의 난수를 생생하여 정렬한다. #include #include #include main() { int num[10]; // 숫자 저장 배열 // 시간 변수 : 시간이 변해야 다른 난수가 생성됨 time_t t; srand(time(&t)); // num배열에 무작위 수 10개 저장 for (int i = 0; i < 10; i++) { // rand() 함수 : 에 포함 , 0~32767의 범위 중 무작위 수를 뽑아줌 num[i] = (rand() % 99) + 1; // 1~100의 범위의 수를 배열에 차례로 저장 } // 정렬 전의 리스트 출력 printf("정렬 전의 리스트 출력 : \n"); for (int i = 0; i < 10; i++) { printf("%d ", num[i]);..
내가 잘한다 했잖아
도롱도롱