파일은 총 7개
main.c//메인
phonFunc.c//함수
screenOut.c
common.h//stdio.h 등등
phoneData.h//구조체선언
phoneFunc.h//함수선언
screenOut.h//그냥 출력
링크드 리스트로 정렬 하기 위한 코드를 PhonFunc에다
phoneData * sort_linked(phoneData *s)
{
phoneData *pPrevNode1;
phoneData *pPrevNode2,*pForChange;
phoneData *pNext;
for(pPrevNode1=s;pPrevNode1!=NULL&&pPrevNode1->link!=NULL;pPrevNode1=pPrevNode1->link)
{
pForChange=pPrevNode1;
for(pPrevNode2=s;pPrevNode2!=NULL&&pPrevNode2->link!=NULL;pPrevNode2=pPrevNode2->link)
if(strcmp(pForChange->link->name,pPrevNode2->link->name)>0)
pForChange=pPrevNode2;
if(pForChange!=pPrevNode1)
{
// [prev1] -> [A] -> [B] -> [change] -> [C] -> [D]
// C를 임시 저장하고
pNext = pForChange->link;
// [prev1] -> [A] -> [B] -> [change] -> [D] [C]
pForChange->link = pNext->link ;
// [prev1] -> [A] -> [B] -> [change] -> [D] [C] -> [A]
pNext->link = pPrevNode1->link ;
// [prev1] -> [C] -> [A] -> [B] -> [change] -> [D]
pPrevNode1->link = pNext ;
}
}
return s;
}
이렇게 짜고서
main 에다가
sort_linked(pPhoneList);
넣었는데 pPhoneList가 식별자가 없다고하는거야.
그래서 phoneData.h에다가
#ifndef __PHONEDATA_H__
#define __PHONEDATA_H__
#define NAME_LEN 30
#define PHONE_LEN 30
typedef struct __phoneData
{
char name[NAME_LEN];
char phoneNum[PHONE_LEN];
struct __phoneData *link;
} phoneData;
phoneData * pPhoneList = NULL;
#endif
이렇게 선언해주고 phoneFunc에 있는 phoneData * pPhoneList = NULL; 지우고 돌렸거든
그러니까 여러번 정의된 기호라고 지랄하는데 어쩌지..
댓글 0