C언어 썸네일형 리스트형 함수 포인터 ◇ 함수 포인터의 이해 변수만 메모리 공간에 저장되는 것이 아니다. 프로그램의 실행의 흐름을 구성하는 함수들도 바이너리 형태로 메모리 공간에 저장되어서 호출 시 실행이된다. 이렇게 메모리상에 저장된 함수의 주소 값을 저장하는 포인터 변수가 '함수 포인터 변수'이다. 배열의 이름이 배열의 시작 주소값을 의미하듯, 함수의 이름도 함수가 저장된 메모리 공간의 주소값을 의미한다. 이러한 함수의 주소 값 저장을 위한 포인터 변수를 별도로 선언할 수 있으며, 이러한 용도로 선언된 포인터 변수를 가리켜 '함수 포인터 변수'라 한다. ◇ 함수 포인터 변수의 선언 함수 int SimpleFunc(int num) { . . . . } 위 함수의 반환형과 매개변수 선언은 각각 다음과 같다. · 반환형 int · 매개변수 선.. 더보기 컴퓨터 프로그래밍 설계 과제#3_HW03 #include #include #include int main(void) { float f_num = 0.0f; int arr[4]; int binary_arr[32] = {0,}; //배열을 0으로 초기화한다. int test_num = 0; unsigned char *ucp; int iCnt; int i=0; int j=0; while(1) { for(i=0 ; i 더보기 컴퓨터 프로그래밍 설계 과제#3_HW02 #include #include int main(void){ int sign = 0; double decimal_num = 0.0; double abs_decimal_num = 0.0; while(1){ //printf("Enter a fixed-point decimal number (0 for exit) : "); scanf("%lf", &decimal_num); fflush(stdin); //버퍼 비우기 sign = (decimal_num >= 0.0 ? 0 : 1); //0이면 양수, 1이면 음수 abs_decimal_num = (decimal_num > 0.0 ? decimal_num : -decimal_num); if(decimal_num==0.0){ break; } if( abs_decimal.. 더보기 컴퓨터 프로그래밍 설계 과제#3_HW01 #include #include #include double getAngle(int hour, int min); void getStraightTime(int hour); int main(void){ int hour = 0, minute = 0; while(1){ printf("Enter two integer numbers (hour[0~11] & minute[0~59]): "); scanf("%d %d", &hour, &minute); fflush(stdin); //버퍼 비우기 if( hour==0 && minute==0){ break; } if( !((0 더보기 컴퓨터 프로그래밍 설계 과제#2_HW03 #include #include #include #include int main(void){ int i = 0; int j = 0; //실행횟수에 관한 변수 int hit = 0; double probability = 0.0; int flag = 0; //이중루프 탈출을 위한 플래그 char input_char; while(1){ srand((unsigned int)time(NULL)); //Seed를 집어넣음 몇번째 숫자열을 쓸지 srand(양수) printf("Enter a trial number (1 ~ 10000) : "); scanf("%d", &j); fflush(stdin); //버퍼 비우기 printf("\n"); //문제 조건(2)에 의한 개행 if(j 더보기 컴퓨터 프로그래밍 설계 과제#2_HW02 #include #include #include int isSquarenumber(int num); //제곱 수 체크함수의 선언 int main(void){ int num = 0; int flag = 0; //이중루프 탈출을 위한 플래그 char input_char; while(1){ int check = 0; printf("Enter an integer: "); scanf("%d", &num); fflush(stdin); //버퍼 비우기 printf("\n"); //문제 조건(2)에 의한 개행 check = isSquarenumber(num); //제곱 수일 경우 1반환, 아닐경우 0 반환 if(check == 1) {//제곱 수 일때 printf("Next square number : %d \n", .. 더보기 컴퓨터 프로그래밍 설계 과제#2_HW01 #include #include int isHarshad(int num); //하샤드 수 체크함수의 선언 int main(void){ int num = 0; int flag = 0; //이중루프 탈출을 위한 플래그 char input_char; while(1){ printf("Enter a positive number : "); scanf("%d", &num); fflush(stdin); //버퍼 비우기 printf("\n"); //문제 조건(2)에 의한 개행 if(num 0){ rest = num % 10; sum = sum + rest; num = num/10; } //printf("각자릿수의 합 : %d\n", sum); if( (original_num%sum) == 0 ) { return 1; }.. 더보기 이전 1 2 3 다음