1) malloc 2Â÷¿ø ¹è¿ ÇÒ´ç.txt: µÎ Â÷¿øÀÇ ¹è¿À» ¸ðµÎ malloc À¸·Î ÇÒ´çÇÏ´Â ¹æ¹ý
2) malloc 2Â÷¿ø ¹è¿ ÇÒ´Þ2.txt: 1Â÷¿øÀº ¹è¿·Î 2Â÷¿øÀº malloc À¸·Î ÇÒ´çÇÏ´Â ¹æ¹ý
[ºÐ¼®]
- ±âº»ÀûÀ¸·Î µ¿Àû ¸Þ¸ð¸®ÇÒ´çÀº ¸Þ¸ð¸®°¡ ¸¹ÀÌ ÇÊ¿äÇÑ °æ¿ì »ç¿ëÇÏ´Â ¹æ¹ýÀ¸·Î
// 1Â÷¿ø, 2Â÷¿ø ¹è¿ÀÌ ¸ðµÎ Å« °æ¿ì 1)¹ø ¹æ¹ýÀÌ ÁÁÀ½
// µÎ Â÷¿ø Áß ÀûÀº Â÷¿øÀÌ ÀÖ´Â °æ¿ì 2)¹ø ¹æ¹ýó·³ ÇØ´ç Â÷¿øÀº ¹è¿·Î Çصµ ÁÁÀ½
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <malloc.h> #include <stdlib.h> #define N_STUDENTS 4 char** name; // ¾Æ·¡ Äڵ忡¼ mallocÀ¸·Î char name[4][10] ó·³ ÇÒ´çµÊ int main(void) { int i; name = (char **)malloc(sizeof(char *) * N_STUDENTS); if (name == NULL) { fprintf(stderr, "Malloc fail !!!\n"); exit(-1); } for (i = 0; i < N_STUDENTS; i++) { if (name != NULL) { name[i] = (char*)malloc(sizeof(char) * 10); if (name[i] == NULL) { fprintf(stderr, "Malloc fail !!!\n"); exit(-1); } } } for (i = 0; i < N_STUDENTS; i++) { printf("%d ¹ø° À̸§: ",i+1); scanf("%s", name[i]); } for (i = 0; i < N_STUDENTS; i++) { printf("(%d) À̸§: %s \n", i+1, name[i]); } for (i = 0; i < N_STUDENTS; i++) // malloc ÇÒ´ç ÇØÁ¦ Áß¿ä free(name[i]); free(name); // malloc ÇÒ´ç ÇØÁ¦ Áß¿ä } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <malloc.h> #include <stdlib.h> #define N_STUDENTS 4 char* name[N_STUDENTS]; // ¾Æ·¡ Äڵ忡¼ mallocÀ¸·Î char name[4][10] ó·³ ÇÒ´çµÊ int main(void) { int i; for (i = 0; i < N_STUDENTS; i++) { name[i] = (char*)malloc(sizeof(char) * 10); if (name[i] == NULL) { fprintf(stderr, "Malloc fail !!!\n"); exit(-1); } } for (i = 0; i < N_STUDENTS; i++) { printf("%d ¹ø° À̸§: ", i + 1); scanf("%s", name[i]); } for (i = 0; i < N_STUDENTS; i++) { printf("(%d) À̸§: %s \n", i + 1, name[i]); } for (i = 0; i < N_STUDENTS; i++) // malloc ÇÒ´ç ÇØÁ¦ Áß¿ä free(name[i]); } | cs |