α׷

 3206, 161/161 ȸ  α  
   Ѱ
   [C] C ̿.

http://www.hackerschool.org/HS_Boards/zboard.php?id=QNA_programming&no=3055 []


α׷ [ȭȣ α׷] ۼ ܼ.

ü man Ҵ ü 迭 Ŀ Է° þ realloc
Ҵϴ ®µ.

** 2 µ 3° Է Ŀ(Ҵ )  1°, 2° Է ̻ϴ. **

ؿ ִ° ۼ ԷԼԴϴ.

/* BasicDef.h ֽϴ.  */
typedef struct information
{
char name[20];
char Tel[20];
int use;           //use=1 -> , use!=1 ->
} Inform;



/* mainԼ ֽϴ.  */
   Inform * man = (Inform *)calloc( sizeof(Inform), size);





/*  Insert.c  */

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "BasicDef.h" //ü , ClearBuffer & ClearScreen Լ

extern int size;   //mainԼ . ü (ʱⰪ 3)

void Insert(Inform * man)
{
int i=0; // ü 迭
                
while (man[i].use == 1) // use 1̸ ̹ ƴٴ .
i++;           // ü Ų.
        
puts("[ INSERT ]");
fputs("Input Name: ", stdout);
fgets(man[i].name, sizeof( man[i].name ), stdin);
man[i].name[ strlen( man[i].name )-1 ]='\0'; // ִ '\n'

fputs("Input Tel Number: ", stdout);
fgets(man[i].Tel, sizeof( man[i].Tel ), stdin);
man[i].Tel[ strlen( man[i].Tel )-1 ]='\0'; // ִ '\n'

man[i].use=1; // ƴٴ ǥ
        
if ( (i+1) == size ) //Ҵ ü ϸ Ҵ
man=(Inform *)realloc( man, sizeof(Inform) * (size+=3) );

for(i=0; i<size; i++)   // Ȯ ؼ ӽ÷ . ذ Ǹ
{
printf("[%d° ü] \n", i+1);
printf("Name : %s \n", man[i].name);
printf("Tel     : %s \n", man[i].Tel);
}
        
puts("\t\tData Inserted");

ClearScreen();  // Է ް ͸ ѹ ڿ ȭ ʱȭ Ű Լ
}



/* ԷԼ ȭ */


/*  ù °  */
[ INSERT ]
Input Name : 1
Input Tel Number : 123
[1° ü]
Name : 1
Tel     : 123
[2° ü]


[3° ü]

                      Data Inserted
/*   °  */
[ INSERT ]
Input Name : 2
Input Tel Number : 456
[1° ü]
Name : 1
Tel     : 123
[2° ü]
Name : 2
Tel     : 456
[3° ü]

                      Data Inserted
/*   °  */
[ INSERT ]
Input Name : 3
Input Tel Number : 789
[1° ü]
Name : 1
Tel     : 123
[2° ü]
Name : 2
Tel     : 456
[3° ü]
Name : 3
Tel     : 789
[4° ü]
Name : Ⱚ
Tel     : Ⱚ
[5° ü]
Name : Ⱚ
Tel     : Ⱚ
[6° ü]
Name : Ⱚ
Tel     : Ⱚ


                      Data Inserted

/*   °  */   ⼭ ̻ؿ.
[ INSERT ]
Input Name : 5
Input Tel Number : 555
[1° ü]
Name : 5
Tel     : 555
[2° ü]
Name : a
Tel     :
[3° ü]
Name :
Tel     :
[4° ü]
Name : Ⱚ
Tel     : Ⱚ
[5° ü]
Name : __COMPAT_LAYER=EnableNXShowUI (Ⱚε)
Tel     : eNXShowUI (Ⱚ ƿ)
[6° ü]
Name : A ()
Tel     : ()

                      Data Inserted

׸

4° Է Ŀ  man[i].use

man[0].use=1
man[1].use=
man[2].use=1
man[3].use=
man[4].use=81
man[5].use=

̷ ֳ׿. (3° Է± )


Ȯ 𸣰ھ.  realloc Ҵ ؼ ּҷ

𸣰ڳ׿.












  Hit : 6339     Date : 2011/06/13 04:45



    
profreez realloc ϽŴ
Ҵ ʱȭ ּ.

man[ Ҵ ].use = 0; // ̰ɳ־ ..
2011/06/13  
Ѱ profreez// ׷ ص ޶° ׿... Ǵ° 4° Է Ŀ ǵ帮
1, 2 ,3 ° ͱ ε ̰ ذ dz׿
2011/06/14  
prosthetics ڵ忡 ִ Ű׿.

<1 : realloc>
http://blog.naver.com/neutrino37?Redirect=Log&logNo=110005927328
Ʈ ø realloc ڼ ֽϴ.
ϸ, ȮҶ(realloc) ġ ٲٰ մϴ.
, Ҵ ޸ ּҰ ޸ ּҶ ٸٴ...
->man=(Inform *)realloc( man, sizeof(Inform) * (size+=3) );
->man realloc ȯ ּҷ ٲ.

<2: Ű>
Prototype : insert(Inform * man), ȣ(main) : insert(man);
-> man Ű ּҰ insertԼ man ̵
->insertԼ  ص main man ٲ

<3: >

<1> Ѱó realloc ޸𸮸 ū ٲݴϴ.
ִ ޸𸮰 freeɰ ˴ϴ. ( ¿.)
׸ insert man Ȯ ο ּҸ Ű ǁ.
<2> main man free(Ƹ) ּҸ Ű ̰
insertԼ man Լ Ǹ鼭 ߵǰ.
,
main man -> ּ Ŵ
inset man -> Ȯ ε ּ ִٰ Լ ϸ

<4: ذ>

Ű insert(Inform ** man) ֽð
ȣκп insert(&man);
insertԼ *man = ...realloc(...);

<5: ǰ>

ḮƮ ̿ϱ realloc ,
<3> freeѴٴ Դϴ.
ڵ常 Ϻ 亯 帱 .
Ǯڵ带 ֽø ڼ м ص帮...
2011/06/14  
Ѱ prosthetics// Ϻ 亯̾. մϴ. Ȯغ InsertԼ
Ƽ ̰͸ øſ. man mainԼ ̰
ƴ Ծ մϴ.

׸ ó ߴ ε ģ ḮƮ ˷༭ ḮƮ Ǯٰ ߿ ߴ ٽ Ǯôµ ̷ Ƴ׿.
2011/06/14  
6   [C] scanfԼ getsԼ \n ̿.[2]     Ѱ
05/25 6212
5   [C++] C++ Թ å õּ.[5]     Ѱ
06/02 4086
4   [C] , #ifndef, #define ̿.[2]     Ѱ
06/11 6970
  [C] C ̿.[4]     Ѱ
06/13 6338
2   [C] Ƽ??[4]     Ѱ
06/27 10087
1   [VC] Help -> Index -> MSDN÷ ϴ.     Ѱ
07/02 6066
[1].. 161

Copyright 1999-2024 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org