C프로그래밍이론
2013.04.23_[C언어]표준입력함수_설명
C언어는 기본적으로 자주 사용되는 함수들을 미리 정의해 놓았다.표준 입력 함수들 역시 미리 정의되어 있는 함수들 중 일부이다. 여기서 알아볼 함수는 scanf(), gets(), getchar(), sscanf() 이다. (모두 stdio.h 에 선언되어 있다.)gets() 와 getchar() 는 scanf() 로서 모두 처리해 줄 수 있다. 하지만 gets() 나 getchar() 를 사용하는 경우도 있다.그 이유는 scanf() 보다 gets() 나 getchar() 가 안정적인 입력이 가능하기 때문이다. scanf() 는 상당히 불안정한 함수이다. sscanf() 는 알아두면 상당히 유용한 함수이다. 문자열에서 원하는 자료형으로 추출이 가능한 엄청난 함수이다. [[ char *gets( char ..
2013.03.26_컴파일시깨알팁
깨알팁 cl *.c // 현재 디렉토리에 있는 모든 c 확장자명을 가진 파일을 실행파일까지 // 컴파일한다. cl /c 함수명.c // 함수명.c 를 오브젝트( .obj) 파일까지 컴파일한다. cl /P 함수명.c // 함수명.c 를 전처리단계(프리프로세싱) , 순수C( .i)파일까지 // 컴파일 한다. cl 함수명.obj 함수명.obj .. .. // 다 모아서 실행파일을 만든다.
2013.03.26_헤더파일쓰는이유
1. #include "헤더파일이름" 을 사용 // 현재 파일안에있는 smart.h 를 찾는다. 2. 헤더파일을 세번불러봄( 실험 하는거 ) 3. #ifndef 전처리용 if 문으로 ( if not define _SMART_H_ = _SMART_H 가 정의되어있지 않으면 이라는 뜻) #endif 전처리용 if 문 종료 , 전처리용 if 문을 사용하면 헤더파일을 호출시에 여러번 호출이 안뜨거나 애초에 함수가 정의되어있지 않으면 실행을 시키지 않으므로, 컴파일 할때 빠르다. 4. 위의 전처리용 if 문을 사용해서 경고도 안뜨고 깔끔하게 나왔다!
2013.03.26_제일위에 입력되지 않은 함수가 쓰일수있는 이유(ex: printf() )
1. printf(); 가 적히면 에 가서 프로토타입( int printf( ); ) 과 비교를해서 문법이 맞는지 확인한후 순수C 로 넘어간다( .i ). 어셈블러가 컴파일을 해주고, 없는 함수나 함수가 잘못 호출을 했을시에 .exe 까지 가지못하고, 오브젝트까지 만들어진다. 오브젝트까지 (.obj)모두 완료하면 링크를 통해 실행파일(.exe)이 만들어진다. 2. Clibrary 에 미리 컴파일해서 모아두면, obj에서 씀