본문 바로가기

C언어/강의

2010년 11월 19일 금요일 int 보다 unsigned int가 속도가 더 빠르다. int는 부호확장 검사를 하기 때문에 부호확장 검사를 안하는 unsigned int가 상대적으로 더 빠를수 밖에 없다. #typedef unsigned int unint 더보기
2010년 11월 15일 월요일 (배열과 포인터) int iarray[]={3,1,2,8,4}; // 상수열 char carray[]="test"; // 문자열 printf("%d\n", iarray[3]); // 8 출력 printf("%d\n", 3[iarray]); // 8 출력 printf("%d\n", *iarray); // iarray[0] printf("%d\n", *(iarray+2)); // 포인터 참조 printf("%d\n", iarray[3]); // 인덱스 참조printf("%d\n", [iarray]3); // 에러 더보기
2010년 11월 15일 월요일 (함수 포인터 배열) void func1(char); // void (*)(char); 타입형 void (*(func2(int inum))(char) // { printf("func2 : %d\n", inum); return func1; // void (*)(char); } #include int (*get_operator())(int, int); int plus(int, int); int minus(int, int); int multiply(int, int); int divide(int, int); int (*get_operator())(int, int) { int choice; while(1) { printf("==============================\n"); printf("0 : for plus\n"); .. 더보기
2010년 11월 11일 목요일 ( 함수포인터 (printf문의 고정관념 박살내기)) int (*)(const char *, ...); // printf문의 type형 int main() { int (*p)(const char *, ...); p=printf; // printf 대신 scanf를 대입하면 p를 scanf로 사용가능 p("hi\n"); return 0; } ((int(*)(const char *,...))0x8048300) // 완전한 printf문 int main() { ((int(*)(const char *,...))0x8048300)("hi\n"); // 주소를 적을 경우는 주소가 변하기때문에 한계가 있다. return 0; } int (*)(const char *, ...); // scanf문의 type형 int main() { int a; int (*p)(const.. 더보기
2010년 10월 22일 금요일 (함수) 함수의 호출과 실행 /* 두 정수를 입력받아 평균값을 출력하는 프로그램 */ #include float average (int /*n1*/, int/* n2*/); /* 함수 원형(변수는 생략 가능) (반환형) (함수이름) (인자,인수) */ int main() { int num1; int num2; float avrg; fprintf(stdout, "Please enter an integer: "); fscanf(stdin, "%d", &num1); fprintf(stdout, "Please enter an integer: "); fscanf(stdin, "%d", &num2); avrg = average(num1, num2); // average()함수 호출 fprintf(stdout, "The av.. 더보기