본문 바로가기

C130

전처리기(1) 전처리기에 대해서 알아 보자. 가장 기초적인 전처리기는 #include 가 있을 것. #include 는 특정 file안에 있는 함수를 추가, 사용하기 위해서 사용되는데, #include 를 사용하면 c에서 제공하는 표준 헤더파일에서 검색 #include "" 를 사용하면 파일이 존재하는 폴더에서 헤더를 찾는다. (소스코드는 패스) 2010. 3. 10.
__FILE__, __LINE__ 두 명령어는 매우 간단하다. __FILE__키워드와, __LINE__ 키워드. #include void main() { printf( "파일명 : %s \n현재 라인 : %d\n", __FILE__, __LINE__ ); } __FILE__은 현재 파일이 존재하는 경로를 문자열로써 출력하고 __LINE__은 __LINE__ 키워드가 사용되고 있는 시점의 라인을 출력한다. 주로 디버그를 위해서 자주 사용할 것 같다는 느낌이 든다. 2010. 3. 10.
함수 포인터(2) 앞에서 썻듯이 함수 포인터를 다양한 함수를 for문을 이용해서 루프에서 사용한다고 하면, 실제로 함수의 포인터를 인자로 보낼 수 있는 방법도 존재한다(그러니까 함수 포인터겠지만) #include int sum(int a, int b);// 합 구하기 함수 void ptrfunction( int (*fp)(int, int ), int a, int b ); // 함 구하는 함수 포인터를 받는 함수 void main() { ptrfunction(sum, 10, 20);// sum 함수의 포인터와 그 인자값을 보내기 위해 10, 20을 보낸다. } int sum(int a, int b ) { return a+b; } void ptrfunction( int (*fp)(int, int ), int a, int b .. 2010. 3. 10.
함수 포인터 함수에 대해서 포인터를 사용하여 활용 하는 방법 소스를 보면 이해가 갈듯, 어디서 써야 할지는 솔직히 잘 모르겠다; 함수의 인자로 함수를 보내나?? 흠--a; #include int plus(int n1, int n2); int minus(int n1, int n2); int doubles(int n1, int n2); int divied(int n1, int n2); void main() { int n1; int n2; int chk; int (*fp)(int, int);// 함수는 포인터로 존재 while(1) { printf( "1. 더하기\t2. 빼기\n3. 곱하기\t4. 나누기\n5. 종료\n" ); scanf( "%d",&chk); switch(chk) { case 1: fp = plus; b.. 2010. 3. 9.
2차원 배열 동적 할당 음, 큰 설명은 필요 없을것 같고 소스 참조 ㄱㄱ #include #include #defind MAX 5 voia main() { // 할당 p = (int**)malloc(sizeof( int* )* MAX); for( int i=0; i 2010. 3. 9.
가변 인수 printf나 scanf를 보면 함수지만 보내지는 인자값이 매번 틀리다는걸 알 수 있다. 그렇다면 어떻게 그게 가능한 것인가? 가변 인수에 대해서 알아보자 #include #include void printChar( int n1, ... );// ... 이 부분이 가변 인수를 생성한다. void main() { printChar(3, 'A','B','C'); printChar(4, 'A','B','C','D'); printChar(5, 'A','B','C','D','E');// 실행 예 } void printChar( int n1, ... ) { va_list varl;// va_list 타입의 변수 생성(무조건) char str[6];// 실제로는 동적 할당을 해서 써야겠지만, int i; va_sta.. 2010. 3. 8.