게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
c언어 기본에 대한 질문
게시물ID : programmer_9600짧은주소 복사하기
작성자 : ㅜ_ㅠ
추천 : 0
조회수 : 557회
댓글수 : 7개
등록시간 : 2015/04/28 17:41:47
제가 수업시간에
FILE포인터를 선언하고 사용하는 예제를 배웠는데요
근데 exit가 if문의 괄호안에 있는데 그렇다면 파일 r모드로 사용된 스트림인 fp를 fclose(fp)를 이용해서 닫기 전에 종료되니까
계속 fp스트림이 열려있는 상태가 되나요?
아니면 메인함수가 종료되면 전부 종료되니까 이렇게 사용해도 상관없나요?

#include <stdio.h>
#include <stdlib.h>

void main(void)
{
FILE * fp;

fp = fopen("a.txt", "r");
if(fp == NULL)
{
printf("파일이 존재하지 않습니다.\n");
exit(1); // 프로그램을 종료시키는 함수 stdlib.h
}

// READ / WRITE

fclose(fp);
}

그리고
아래의 코드에 sizeof를 사용시에 메인함수에서는 sizeof(str):6,sizeof(ar):7 로 정상적으로 출력되지만
메인함수에서 str과 ar의 배열이름을 prn 함수에 전달했을때 prn함수상에서는 배열의 크기가 각각 sizeof(str):4,sizeof(ar):4로 메인함수와 다르게 출력되는데 왜 그런것인지 알고 싶네요.
아시는 분 답변 주시면 좋겠네요.


#include <stdio.h>
void prn(char *str,char* ar);

void main (void)
{
char str[]={'s','c','h','o','o','l'};
char ar[]="school";
printf("sizeof(str):%d\n",sizeof(str));
printf("sizeof(ar):%d\n",sizeof(ar));
prn(str,ar);
}
void prn(char* str,char *ar)
{
printf("sizeof(str):%d\n",sizeof(str));
printf("sizeof(ar):%d\n",sizeof(ar));
}

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호