개인노트
모든 함수는 프로그램 실행 시 메인메모리에 저장이 된다. 배열의 이름이 배열의 시작 주소를 의미하듯 함수의 이름은 함수가 저장된 메모리 공간의 주소값을 나타낸다.이러한 함수의 주소값 저장을 위한 포인터를 함수 포인터 변수라고 한다. 1. 함수 포인터 선언 int function(int a, int b); // function 함수int (*ptr)(int, int) = function; // 함수 포인터 void smiple(int * ptra);void (*ptr)(int *) = simple; 2. 매개변수를 함수 포인터 변수로 선언하여 함수 호출 #include #include "stdlib.h" int WhoisFirst(int age1, int age2, int(*cm)(int n1, int n..
1차원 배열에서 arr[i] = *(arr+1) 라는 문장이 성립하고 2차원 배열도 마찬가지이다. arr[3][4]=5;→ (*(arr+3))[4]=5;→ *(arr[3]+4)=5;→ *(*(arr+3)+4)=5;
1차원 배열을 함수의 인자로 전달하는 방법은 다음과 같았다. int * arr; or int arr[]; 2차원 배열을 함수의 인자로 전달하는 방법은 다음과 같다. int (*arr)[3]; or int arr[][3]; 2차원 배열을 함수의 인자로 전달하기 예제.c#include #include "stdlib.h" void ShowArr2DStyle(int(*arr)[4], int column) {int i, j;for (i = 0; i < column; i++) {for (j = 0; j < 4; j++) {printf("%d", arr[i][j]);}printf("\n");}}int Sum2DArr(int arr[][4], int column) {int i, j, sum = 0;for (i = 0;..