α׷

 3206, 1/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 : 6349     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  
3206   SNSŷ dz? ּ ФФ [2]     ä
02/28 334
3205   ġƮ DZ[1]     rjsdudals123
02/15 188
3204   ãּ [1]     marunim
05/30 919
3203 бԴϴ  124     minsub87
08/17 1
3202   c segmentation fault:11 帳ϴ![2]     leebk1124
05/21 2007
3201   C++Լ ̿!![3]     1999dylee
05/11 1841
3200   ̽ 帳ϴ.[1]     kksh1107
04/24 1582
3199   - -     nninni79
04/20 2287
3198   ް ڵ[1]     ghjk645
03/24 1604
3197 бԴϴ  c Ҽ      adwefq
04/29 0
3196   C ҽԴϴ![5]     an0088
01/05 5118
3195   C++ /// Ф[1]     guichanta
08/23 2394
3194 бԴϴ  c ּФ     su6339
04/06 0
3193   ŷ ϴµ[3]     zoodem04
03/26 4179
3192   c ; ![7]     dwc07238
02/11 4061
3191   ̴ ⿡ ؼ!![1]     hackxx123
12/10 3513
3190   ŷ ip ϵ忡 ɴ°ſ  ?[2]     aowlrgmlals
11/27 4274
3189   C ϴµ double Ǽ ڲ 0.0 Ϳ[2]     fatou10336
11/20 3725
3188   dumpcode.h ּ .[1]     cm6418
11/06 3703
3187   c ˰ Դϴ.[3]     alstn8150
10/12 3730
1 [2][3][4][5][6][7][8][9][10]..[161]

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