728x90 C/개념, 이해5 [C/개념, 이해]함수 포인터 C언어 ▶함수 포인터 선언 void (*func)(void) = nullptr; void형 함수와 매개변수 없음. int (*func)(int) = nullptr; int형 함수와 int형 매개변수 int (*func[4])(int, int) = {}; 크기가 4인 함수 포인터 배열 void print(int (*func)(int, int)) { } print함수의 매개변수 func 함수 포인터 int (*func(int x, int y))(int, int) { } 함수 포인터를 함수 반환값으로 사용 ▶사용예시 void (*func)(void) = nullptr; #include void print() { printf("hello!\n"); } int main() { void (*func)(void) = nul.. 2021. 11. 21. [C/개념, 이해]char , wchar_t C언어 ▶char : 1바이트 (8비트) 정수형 처리 변수 (signed) char : -128~127 unsigned char : 0~255 ▶wchar_t : 2바이트 와이드 문자(wide character)를 저장하기 위한 자료형 변수 (유니코드를 저장할 때 유용) wchar_t : 0~65,535 ▶선언 char a; wchar_t a; char *a; wchar_t *a; char a = 'a'; wchar_t a = L'a'; L을 붙여줘야됨 char a[10] = "abcd"; wchar_t a[10] = L"abcd"; 코드영역 (디스크(ROM) 읽기전용) 에 있는 "abcd" 문자열을 a에 복사 const char *a = "abcd"; const wchar_t *a = L"abcd"; 코드영역.. 2021. 11. 19. [C/개념, 이해]const 포인터 C언어 ▶const : 상수 선언 ▶사용 예시 (1) const int *p; 가리키는 값 고정 #include int main() { int a = 10, b = 20; const int *p = &a; //포인터 p가 가리키는 값(a) 고정 *p = 20; //(X) //a값을 바꾸려하기 때문에 안됨 p = &b; //(O) //p의 주소만 바뀌어 가능 return 0; } (2) int *const p; 가리키는 주소 고정 #include int main() { int a = 10, b = 20; int *const p = &a; //포인터 p가 가리키는 주소(&a) 고정 *p = 20; //(O) //a값이 바뀌어 가능 p = &b; //(X) //p의 주소값을 바꾸려하기 때문에 안됨 return 0; .. 2021. 11. 18. [C/개념, 이해]volatile 변수 C언어 ▶volatile : 컴파일러는 변수를 최적화에서 제외함 volatile 변수 - 위키백과, 우리 모두의 백과사전 (wikipedia.org) volatile 변수 - 위키백과, 우리 모두의 백과사전 C/C++ 프로그래밍 언어에서 이 키워드는 최적화 등 컴파일러의 재량을 제한하는 역할을 한다. 개발자가 설정한 개념을 구현하기 위해 코딩된 프로그램을 온전히 컴파일되도록 한다. 주로 최적화 ko.wikipedia.org ▶예제 #include int main() { const int num = 10;//상수 int* p; p = (int*)#//int형 변환 *p = 20; printf("%d", num); return 0; } 결과 : 10 #include int main() { volatile c.. 2021. 11. 18. 이전 1 2 다음 728x90