본문 바로가기

C언어

[C언어] C언어 문자 입/출력 C 프로그래밍 1. 개 요 시스템은 문자의 입력과 출력을 다루기 위해 getchar() 및 putchar()를 제공한다. 다음 프로그램에서 getchar()는 입력 스트림으로부터 하나의 문자를 얻고, 이것을 변수 c에 저장한다. putchar()는 화면 위에 하나의 문자를 출력하는데, 이 프로그램의 경우 putchar()가 두 번 사용되었기 때문에 같은 문자가 두 번 출력된다. main() { char c; while(l) { c = getchar(); putchar(c); putchar(c); } } 변수 c는 char형으로 선언되었는데, 이는 C 언어의 기본자료형 중 하나이다. 이러한 형의 변수는 문자 값을 가질 수 있다. 1은 0이 아니므로 식은 항상 참이다. 따라서 구조 while(l) { ․․․.. 더보기
[C언어] C언어 함수 C 프로그래밍 1. 개 요 효과적으로 문제를 해결하는데 있어서 가장 중요한 일은 문제를 의미별로 나누어 보는 것이다. 문제를 접하고 이를 다룰 수 있는 작은 부분으로 나눈다는 것은 큰 프로그램을 작성하는 데 있어서 아주 중요한 기법이다. 함수의 기능은 프로그램의 하향식 구현을 위한 구조를 제공하게 된다. 각각의 프로그램은 1개 이상의 함수파일로 구성되어져는데 그 중의 하나가 main() 함수이다. 프로그램은 main()으로 실행을 시작하고 printf()나 sqrt()와 같은 라이브러리 함수를이나 사용자가 정의한 함수들을 사용한다. 함수는 프로그램 변수를 가지고 작용하고 함수 안에서 사용할 수 있는 변수들은 변수 영역규칙에 의해 결정된다. 이번 보충학습을 통해서는 프로그램의 예를 통해 함수들이 포함된 포.. 더보기
[C언어] C언어 배열,문자,포인터 C 프로그래밍 1. 개 요 포인터 연산과 포인터의 다양한 사용법은 C 언어의 특징 중 하나이다. 특히 중요한 점은 포인터가 배열의 주소 대신 사용될 수 있다는 것이다. 배열은 첨자변수를 사용하며 같은 종류의 데이터 값을 여러 개 나타낼 수 있다. 포인터의 또 다른 특징으로 함수 호출시 변수의 주소를 전달함으로써 그 변수의 값을 바꿀 수 있다는 점을 들 수 있다. 즉 다른 언어의 주소에 의한 호출(call-by-reference)과 같은 효과를 갖게 된다. 문자열은 문자의 배열이며 배열이름은 그 자신이 포인터이고, 문자열은 단지 문자들의 배열이다. 이러한 이유로 배열, 문자열 및 포인터의 개념은 상호 관련된다. 포인터는 기억장소 내의 어떤 요소에 대한 주소이다. 대부분의 언어와는 달리 C 언어는 포인터 계.. 더보기
[C언어] C언어 파일의 활용 C 프로그래밍 1. 개 요 파일(file)을 추상적으로 설명하면 순차적으로 처리되는 문자들의 스트림으로 생각할 수 있다. 시스템에서 제공하는 표준 파일로는 stdin(표준 입력파일), stdout(표준 출력파일), stderr(표준 오류파일), 그리고 stdio(표준 입출력파일)이 있다. 또한 라이브러리 함수 fopen()은 파일을 열기 위해서 사용되는데 이것은 FILE에 대한 포인터를 반환한다. 다음은 my_file이란 파일을 오픈시키기 위해 사용되는 프로그램을 보기로 하자. #include main() { int c; FILE *fp, fopen(); fp = fopen("my_file", "r"); ․․․․․ 함수 main()의 본체에서 두 번째 라인은 파일에 대한 포인터 fp를 선언하고, 함수 f.. 더보기
C언어 :: 파일크기 알아내기 FILE *fp = NULL; long file_size = 0; fp = fopen( filename , "r" ); if ( fp == NULL ) { printf(" ###### [%s]파일을 여는데 실패하였습니다. ", filename ); // 에러처리 } fseek( fp, 0L , SEEK_END ); // 포인터의 위치를 끝으로 옮긴다 file_size = ftell(fp); // 포인터의 위치를 리턴 fclose(fp); ----------------------------------------------------- 유용하게 쓰일꺼 같다. 네이버 지식인의 hagopais 님이 알려주셨다. ---------- > ------------ 파일 크기를 반환하는 라.. 더보기