Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[2062] Re:질문사항
임문환 [mhlim] 1137 읽음    2003-03-09 21:34
1. inline
- 이 키워드가 붙은 메서드 호출 명령을 해당 메서드의 컴파일된 코드로 대체함으로써 함수 호출에 필요한 추가 작업을 생략 가능하며 따라서 실행시간이 절약됨(프로그램 코드는 길어짐)
- inline 키워드를 붙였다고 해서 항상 위와같이 되는 것은 아니고 몇가지 제약이 있음.

2. #pragma
이는 컴파일러 또는 링커에 다양한 옵션을 지시하는 것입니다.
내용이 많아서 여기에 일일이 적을 수는 없고 도움말을 참고하시면 되겠습니다.

3. 함수 포인터

  - 함수 포인터는 말 그대로 함수를 가리키는 포인터입니다.
  - 함수 포인터가 필요한 경우는 상황에 따라 서로 다른 함수를 호출해야 하는 경우로서,
  일단 특정 함수로 설정해주면 나머지 if문이 필요 없게 되는 편리함이 있습니다.
   - 클래스의 가상함수와 비슷한 것입니다.
   예:

#include<stdio.h>
#include<string.h>
#include<conio.h>
//#include <stdlib.h>

void func1(char *);
void func2(char *);

void main(int argc,char *argv[], char * env[])
{
  void (*pFunc)(char *) = func2;

  if(argc>=2)
  {
   if(strstr(strupr(argv[1]),"COLOR")==argv[1]) pFunc = func1;
  }

//  randomize();
//  if(random(2)==0)  pFunc = func1;

  pFunc("Function Pointer");

  while(kbhit()) getch(); getch();
}


void func1(char *str)
{
  printf("\nfunc1 called.\n");
  textattr( YELLOW | (BLUE<<4) );
  cprintf("%s",str);
}

void func2(char *str)
{
  printf("\nfunc2 called.\n%s",str);
}


뚱뚜루 님이 쓰신 글 :
: inline이 뭐하는건가영? c언어에서 그런키워드는 못본거같습니다.
: #pragma  이건 뭐하는건가영?
: 그리고 함수포인터에대해 궁금합니다.
: 설명점부탁드립니다.
:

+ -

관련 글 리스트
2056 질문사항 뚱뚜루 1166 2003/03/09
2062     Re:질문사항 임문환 1137 2003/03/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.