Day 3 - Function Pointer
·
IDEC 교육/Embedded C
Function Pointer함수 포인터: 함수를 가리키는 포인터 변수*: Pointer / []: Array / (): Function 으로 생각Examplevoid func(int a, int b) { ... } // 정의...int main(){ void (*p)(int, int); // 함수 포인터 변수 p = func; p(1, 2); return 0;}Usage 1-1함수는 매개변수를 전달 받고 다음 함수로 전달하는 경우가 있는데그럴때, 함수 포인터를 매개변수로 전달 받을 수 있고, 유기적인 함수의 선택이 가능하다.qsort(퀵소트, 퀵정렬)함수와 같은 경우 compare함수를 매개변수로 전달 받는데,이때 사용자는 해당 함수만 수정하여 기능을 변경 할 수 있다.Usage ..
Day 3 - Character Pointer & Array
·
IDEC 교육/Embedded C
C Language의 CharacterC언어에서의 Charcater = 즉 char는 하나의 문자를 가르키는 TypeCharacter Pointerchar *의 Type은 char의 주소를 나타내는 TypeCharacter Arraychar temp[6] = "Hello"에서 temp는 char Type이 6개 (마지막 NULL문자 포함) 있는 배열이고배열명은 해당 배열의 시작 주소를 가르키는 상수이다.즉 temp와 &temp[0]는 같은 값을 가르킨다.Array? Pointer?우리는 *을 포인터 변수 앞에 붙여서 해당 포인터가 가르키고 있는 값을 "참조" 할 수 있다.또한 &을 변수 앞에 붙여서 해당 변수의 "주소"를 알 수 있다.temp는 배열의 주소를 가르키는 "상수"이므로 우리가 임의로 변경 할..
Day 2 - Pointer & Array
·
IDEC 교육/Embedded C
Pointer*: PointerArray[]: Array연산자 우선 순위C언어 코딩도장 25.0 연산자 우선순위 알아보기[] -> * 순으로 우선 순위가 높으므로 (여기서 ()는 우선 처리의 의미)int *arr[4]: 배열int (*arr)[4]: 포인터라고 정리 할 수 있다.Pointer Variable모든 Pointer 변수는 크기가 4 Byte이다 = 주소값은 항상 4 Byte 크기예시char *p: Pointer to charint *p: Pointer to intint (*p)[4]: Pointer to Array(4 int)int *p[4]: Array of Pointer(4 int*)복잡한 예시 | name | type | target ..