본문 바로가기

전체

함수 포인터(Function Pointer) 1. 함수 포인터란? 함수를 가리킬 수 있는 포인터를 의미한다. 2. 함수의 이름이 제공하는 두 가지 • 정의된 함수의 호출 • 함수가 위치하고 있는 주소 값의 확인 함수도 실행이 되기 위해서는 컴파일이 완료된 형태로 메모리 공간에 저장이 되어야 한다. 바로 이 위치 의 주소 정보를 얻을 수 있다는 뜻이다. 1234567891011121314151617181920212223#include void FuncOne(void){ printf("FuncOne 함수가 호출되었다! \n");} void FuncTwo(void){ printf("FuncTwo 함수가 호출되었다! \n");} int main(void){ FuncOne(); FuncTwo(); printf("FuncOne의 주소 값: %#x \n", F..
main 함수로의 문자열 전달 1. main 함수의 새로운 유형 지금까지는 main 함수의 매개변수 형을 void로 선언하였다. 그러나 프로그램 실행 시 인자를 전달받을 수 있는 형태로 main 함수를 선언할 수 있으며, 실제로 인자를 전달하는 것도 가능하다. main함수의 매개변수에 char * argv[ ]가 선언되었는데 먼저 이를 알아보자 123456int main(int argc, char * argv[]){....return 0;} cs 2. char * argv[ ] 선언에 대한 복습 위와 같은 main 함수의 유형을 이해하기 위해서는 char * argv[ ] 선언이 의미하는 바를 이해해야한다. char * argv[ ] 대해서는 이미 살펴보았다. 아래 링크를 참고하자. https://cg-developer.tistory..
메모리 컨트롤 함수 배열 A에 저장된 값을 배열 B에 저장하기 위해서는 배열 요소 하나하나를 일일이 복사해야만 한다. 배열의 이름을 이용한 대입연산이 허용되지 않기 때문이다. 하지만 지금부터 소개하는 이 함수들을 활 용하면 배열에 저장된 데이터의 전부 또는 일부를 한방에 복사할 수 있다. 1. memmove - 언제나 사용가능 한 메모리 복사 함수 memmove는 memory와 move의 합성으로 만들어진 이름이다. 메모리에 저장된 데이터를 다른 영 역으로 복사하는 기능의 함수이다.(참고로 복사보다는 이동의 기능이 좀더 강조되었다) 1234#include void * memmove(void * dest, const void * src, size_t len);//매개변수 dest로 전달된 주소 값이 그대로 반환된다. Colo..
블로그 전체 모아보기 카테고리 메뉴 버튼은 왼쪽 상단에도 있습니다. Basic- 자료구조- 알고리즘 BackEnd- C- JAVA Problem Solving- 백준- 코딩 인터뷰 완전분석- 탑코더 알고리즘 트레이닝
volatile 과 restict 1. volatile volatile 은 최적화를 수행하지 말라는 뜻이다. 1) 변수에 volatile 선언 volatile int num; 이렇게 변수 num을 volatile로 선언하면, 변수 num에 저장된 값은 순간적으로 다른 영역 으로부터 참조될 수 있으니 코드 최적학를 수행하면 안된다는 의미를 준다. 이와 같은 코드가 있다고 가정할 때 컴파일러는 변수 num에 저장된 값을 성능의 향상을 위해서 한 번에 60 증가시켜도 되겠다라고 생각할 수 있다. 1234567891011int num=20; // 전역변수 numint function(void){ AAA(10); // AAA 함수는 변수 num의 값을 변경 및 참조하지 않음 num+=10; BBB(20); // BBB 함수는 변수 num의 값을 ..
자료구조 & 알고리즘 모아보기 1. 자료구조와 알고리즘의 개념2. 성능분석 방법(빅오 표기법)3. 재귀(Recursive)의 개념4. 재귀의 활용(피보나치 수열)5. 이진 탐색 알고리즘의 재귀적 구현6. 하노이 타워(재귀)7. 배열과 리스트18. 배열과 리스트29. Array list의 개념10. Array list 사용법11. Array list 직접 구현12. Linked list VS Doubly linked list13. Linked list (단방향) 직접 구현14. Doubly linked list (이중 연결 리스트) 직접 구현15. Stack의 개념16. Stack의 구현17. 큐-Queue의 개념18. 큐의 구현19. 우선순위 큐와 힙20. 버블정렬21. 선택정렬22. 삽입정렬
탑코더 알고리즘 트레이닝 문제풀이 모아보기 1. 시뮬레이션2. 전체탐색(즐거운 파티)3. 전체탐색(암호)
코딩 인터뷰 완전분석 문제풀이 모아보기 1. 2.8문제 루프 발견, 루프 발견 구현2. 4.4 균형 확인3. 4.5 BTS 검증4. 4.6 후속자5. 2진수를 문자열로