[답변 감사합니다. :-) ]구조체 포인터 이용한 간단한 프로그램
글쓴이: 익명 사용자 / 작성시간: 수, 2002/03/20 - 10:38오전
제목 그대로 구조체 포인터를 이용해서 간단 성적프로그램(?)을 짜는데
요...
워낙 초짜라... 구조체 포인터를 잘 이용을 못하겟네요...ㅠㅠ
대략 이름과 전화번호 국어 이정도를 입력받구... 출력하는 건데요...
typedef struct Mystruct {
char *name ;
char *phone ;
int kor ;
} sT;
대략 이렇게 헤더파일에 선언을 했구요... main()에서
sT *pstr , *p ;
int su ;
scanf("%d",&su); //몇명을 입력받을 건지...
pstr = (sT *)malloc(sizeof(sT)*su) ; //전체 메모리 잡구...
p = pstr ;
for ( i =0 ; i
p->name = (char *) malloc(10); //?? 이런식으로 다시 메모리 잡나요?
p->phone = (char *) malloc(10); // 그럼 국어점수 같은 경우는???
scanf("%s",p->name);
scanf("%s",p->phone);
scanf("%d",p->kor) // 국어점수 이렇게 입력 못하는 이유는?
여기서 국어점수두 메모리 설정을 위에 p->name, p->phone 하듯 해야 하나
요?
아구... 모가 몬지... 헷갈리구... 정신없어서...죽갔네요...ㅠㅠ
누가좀 쉽게 설명좀 부탁드립니다...
구조체 포인터 어렵넹...ㅠㅠ
Forums:
Re: 구조체 포인터 이용한 간단한 프로그램
int kor;
...
scanf("%d", &kor);
일케하지 않던가요? 참고 하세요.. ^^
구조체 안에 있어도 마찬가지일거 같은뎅..
Re: 구조체 포인터 이용한 간단한 프로그램
저라면...
char *buf [ size ]; 이케 선언 하고
.....
.....
printf (" Input kor \n");
scanf ("%s", &buf );
strcpy ( &buf, &(p->kor);
이런식으로.....
맞는지 멀것네여.... 걍 생각 나는대루 해서리... 더움 되길 바래여
당연한 결과네요.
님...
p->kor가 무슨 형이죠?
int형입니다!
근데 그걸 int *형으로 입력받기로 되어 있는 곳에 쓰면...
당돌 빠따 에러 나죠.
않 그래요? 그러니까...
int -> int *로 바꾸려면,
int->kor =========> &(int->kor)
이래야 하지 않나요? 쩝...
pointer하고, 뭐 그런것들....다시 찬찬히 공부해 주시는게 좋을 듯 합니
다.
Re: [답변 감사합니다. :-) ]구조체 포인터 이용한 간단한 프로
저도 초짜지만서두...
pstr = (sT *)malloc(sizeof(sT)*su) ; //전체 메모리 잡구...
이렇게 하면 sizeof( sT ) 바이트씩 포인터를 옮겨가면서 입력을 받아야 합니다.
간단한 해결 방법으로 구조체 배열을 만들던가 링크드 리스트를 사용하는 방법이 있습니다.
댓글 달기