구조체 포인터 malloc할당 방법
아란
질문 제목 :
구조체 포인터 malloc 할당
1. malloc 할당하는 방법
2. 세부 질문은 주석을 보시면 됩니다.
답변 부탁드립니다. ^^
질문 내용 :
#includestdio.h
#includestring.h
#includestdlib.h
typedef struct DIRECTORY{
char name[20]; //이름
char num[20]; //전화번호 111-1111와 같이 입력하기 위해 char형으로 선언
}directory;
directory data[5];
//최대 5명의 데이터를 저장할 배열변수, 5명 이상의 데이터를 입력받지 않아야 합니다.
//data[5]를 *data로 하면 에러는 발생하지 않습니다ㅣ.
//하지만 5명 이상의 데이터를 입력받지 않으려면 data[5]같은 형태로 써줘야 할 것 같습니다.
void main()
{
int i=0;
int cnt=0;
data=(directory*)malloc(sizeof(directory)); //malloc 선언???
//포인터를 사용할 때에는 반드시 malloc으로 메모리를 할당해야 하나요?
while(1) //입력 종료 조건이 5명 이상의 데이터가 입력되거나 이름에 exit가 입력될 경우입니다.
{
puts(이름 : );
gets((data+i)-name);
//malloc으로 메모리를 할당하였기 때문에
//gets로 입력받은 내용을 저장할 buf[]같은 배열을 선언하지 않았습니다.
//이름에 exit가 입력되면 종료되어야 하나 종료되지 않고 계속 입력을 받습니다.
if(!strcmp(((data+cnt)-name), exit))
{
--cnt;
//exit는 입력종료 명령어 이므로, --cnt해 이름으로 저장하지 않도록 함
break;
}
puts(번호 : );
gets((data+i)-num);
cnt++;
}
for(i=0;icnt;i++) //입력받은 내용만큼만 출력, cnt가 입력한 횟수를 카운트 함?
printf(%s%10s\n,(data+i)-name,(data+i)-num);
}
-
그리
설명 감사합니다.
-
새누
directory *data로 선언하시고
data=(directory*)malloc(5*sizeof(directory)); 해주신다음 배열처럼 쓰시면 됩니다.
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2693676 | 열혈강의 c언어 질문입니다 | 하양이 | 2025-05-04 |
2693647 | 12.620000 을요 12.620 으로 어떻게 표현해요? (2) | 파도 | 2025-05-04 |
2693619 | 타이틀 코드.. | 단순드립 | 2025-05-03 |
2693591 | 컴파일 에러에서 질문드립니다 (3) | 게자리 | 2025-05-03 |
2693463 | 동적할당 이용시 fwrite사용을 어떻게 해야하나요..? (10) | 일본어못해요 | 2025-05-02 |
2693387 | 배열문제입니다 수정오류캡쳐했습니다 (6) | 연하얀 | 2025-05-01 |
2693356 | text 입출력 내림차순 질문입니다 ㅠ | 빛글 | 2025-05-01 |
2693328 | C언어를이용해서 .txt파일 외에 다른 확장자 파일 삭제가 가능한지.. (2) | 대나무 | 2025-05-01 |
2693299 | 파일입출력 바이너리파일 | 독특한 | 2025-04-30 |
2693273 | 오류 (1) | 귀1여운렩 | 2025-04-30 |
2693080 | visual studio 2008 express edition 등록키 말인데요 | 얀별 | 2025-04-28 |
2693053 | 배열, 구조체 관련 프로그래밍 질문드립니다. | 싸리 | 2025-04-28 |
2693025 | 프로그램을 짜봤는데요 ㅠㅠ | 상처입은마음 | 2025-04-28 |
2693001 | 워닝문제, 세그멘트결함문제 (1) | 월식 | 2025-04-28 |
2692979 | 라인한줄 이랑.. 소스 설명좀 부탁드려요.. | 이루리 | 2025-04-27 |
2692947 | 이 문제좀 풀어 주세요..ㅜㅜ (1) | 소리 | 2025-04-27 |
2692889 | 함수의 구조체 인자로 받아서 그 인자로 데이터 넣기... | 한뎃집 | 2025-04-27 |
2692862 | 성적 출력 하는 프로그램인데요~!!!도움좀 주세욤.ㅠ | 두빛나래 | 2025-04-26 |
2692831 | if 문 간단해요 빨리좀 ㅠㅠ | 이플 | 2025-04-26 |
2692805 | 실행파일이 이상해요 | 푸헷 | 2025-04-26 |