본문 바로가기

728x90

전체 글

(53)
[C] 포인터 # 함수 포인터의 이해 # 함수 포인터의 정의 함수 포인터는 함수를 가리키는 포인터입니다. 포인터는 메모리상의 주소를 저장하는 변수인데, 함수도 메모리에 존재하며 그 시작 주소가 있으므로 포인터 변수로 가리킬 수 있습니다. 정수형 데이터 타입을 가리키는 정수형 포인터는 정수형 변수의 주소를 가집니다. 하지만 함수는 그 안에 여러 데이터 타입이 있을 수 있기 때문에 좀 더 복잡한 선언 형식이 필요합니다. * 함수포인터의 선언 리턴 타입 (*변수명)(인수의 목록) int func(int x); 라는 함수를 가리키는 함수 포인터를 선언하려면 int (*mypf)(int x); 로 선언해야합니다. - 함수 포인터 선언 방법 함수 선언식에서 1. 함수명을 필요한 변수명으로 바꾸고 2. * 를 붙이고, 3. ( ) 감싸면 됩니다. 여기에..
[C] 문자열 서식 # 이스케이프 시퀀스 # 이스케이프 시퀀스 종류 이스케이프 시퀀스 설명 \n 커서를 한 줄 아래로 내립니다. \a 윈도우 경고음 출력 \b 커서를 한 칸 왼쪽으로 이동합니다. \r 커서를 그 줄의 맨 왼쪽 처음으로 이동합니다. \t 커서를 탭 만큼 오른쪽으로 이동합니다. \" 문자 " 자체를 출력합니다. \' 문자 ' 자체를 출력합니다. \\ 문자 \ 자체를 출력합니다. \? 문자 ? 자체를 출력합니다. \ooo 아스키코드 문자를 8진수로 표현합니다. \xhhh 아스키코드 문자를 16진수로표현합니다. \f 프린터에서 다음 페이지로 이동합니다. 콘솔에서는 특수문자가 출력됩니다. \v 프린터에서 세로 탭으로 이동합니다. 콘솔에서는 특수문자가 출력됩니다. # 예제 #include #include int main() { printf..
[안드로이드] 간단한 투표 앱 만들기. intent.putExtra(), getExtra()를 활용. # 간단한 투표 앱 기능 안드로이드 스튜디오에서 구현할 수 있는 2개의 activity에서 데이터를 주고 받는 방법을 알아보겠습니다. 메인 액티비티에서 그림을 클릭하면 해당 항목에 투표를 하게 됩니다. 투표 종료를 누르면 결과 액티비티로 넘어가 각 항목의 투표수를 RatingBar로 보여주고 최다 득표 항목을 상단에 보여줍니다. 메인 액티비티에서 투표한 결과를 intent.putExtra()로 intent에 담아 결과 액티비티로 전달합니다. 투표 항목 이름은 문자열로 전달하여, intent.getStringArrayExtra()로 받습니다. 투표 횟수는 정수형으로 전달하여, intent.getIntArrayExtra()로 받습니다. # 준비물 투표에 사용할 항목 이미지 9종 w 200 * 250 사이즈로..
[알고리즘/C] 미로찾기 경로탐색 (2차원 행렬 DFS: Depth First Search) ★ 이 미로찾기 경로탐색은 격자판에서 길찾기 알고리즘을 알아보는 2차원 행렬 DFS입니다. 방향 그래프상의 길찾기 알고리즘인 그래프 DFS는 아래 링크에서 확인바랍니다. ★ 또한 인접행렬과 경로탐색의 기초에 대해서도 아래 링크를 참고해주시기 바랍니다. 2022.12.05 - [Lang/알고리즘] - [알고리즘] 인접행렬과 경로탐색 기초 (그래프 DFS: Depth First Search) [알고리즘] 인접행렬과 경로탐색 기초 (그래프 DFS: Depth First Search) # 인접 행렬 (隣接行列, adjacency matrix) 인접 행렬은 노드들이 간선으로 어떻게 연결되어 있는지 나타내는 정사각 행렬입니다. 위 그림을 말로 설명하면 노드 1은 노드 2로 연결되었고, 노드 1은 노 siku314...
[알고리즘] 인접행렬과 경로탐색 기초 (그래프 DFS: Depth First Search) # 인접 행렬 (隣接行列, adjacency matrix) 인접 행렬은 노드들이 간선으로 어떻게 연결되어 있는지 나타내는 정사각 행렬입니다. 위 그림을 말로 설명하면 노드 1은 노드 2로 연결되었고, 노드 1은 노드 3으로 연결되었고, 노드 1은 노드 4로 연결되었고, 노드 2는 노드 4로 연결되었고, 노드 3은 노드 4로 연결되었고, 노드 4는 노드 5로 연결되어있습니다. 이 것을 행렬로 표현하면 행의 1,2,3,4,5는 출발 노드로 열의 1,2,3,4,5는 도착 노드로 하여 다음과 같습니다. 0은 연결되지 않았음 1은 연결되었음을 표현합니다. 1행 2열은 노드 1에서 노드 2로 연결되었음을, 1행 3열은 1에서 3으로 연결되었음을, 1행 4열은 1에서 4로 연결되었음을, 2행 4열은 2에서 4로 연결..
[Java] 연산자에 대한 이해 # 연산자 우선순위에 대해서는 아래 링크에서 확인바랍니다. 2022.11.28 - [Lang/Java] - [Java] 연산자 우선순위의 이해 [Java] 연산자 우선순위의 이해 # 연산자 (operator) 의 종류 구분 종류 우선순위 결합규칙 단항 연산자 ++ -- + - ~ ! (type) 높음 산술 연산자 * / % + - 비교 연산자 = instanceof == != 논리 연산자 & ^ | && || 삼항 연산자 ?: 대입 연산자 = += -= siku314.tistory.com # 증감 연산자 ++ : 증가연산자. 피연산자를 1 증가시킨다. -- : 감소연산자. 피연산자를 1 감소시킨다. int x = 0; int y = ++x;// 피연산자 x에 1이 증가하여 y에도 1이 대입됩니다. ++x..
[C++] STL 연관 컨테이너 Map # 맵 Map map을 사용하기 위해서는 헤더파일을 추가해야합니다. #include 맵은 특정 순서에 따라 키 값과 매핑된 값의 조합으로 형성된 요소를 저장하는 연관 컨테이너입니다. 키 값, 매핑된 값 모두 다양한 데이터 타입을 가질 수 있습니다. 예를 들어, 주민등록번호를 키 값으로 이름을 매핑된 값으로 할 수도 있고, 이름을 키 값으로 주민등록번호를 매핑된 값으로 할 수도 있습니다. 하지만 주민등록번호를 키 값으로 할 경우 키 값이 고유한 값을 가지지만, 이름을 키 값으로 할 경우 동명이인이 있을 수 있어 고유한 값을 가지지 못하므로 이런 경우에는 map보다는 multimap을 사용하는 것이 좋겠습니다. # map 클래스 템플릿의 정의 template < class Key,// map::key_typ..
[C] C와 C++ Integer의 MIN, MAX # 헤더 C의 에 정의되어 있습니다. C++의 에 가 포함되어 있습니다. 으로도 사용할 수 있습니다. # 정수 상수 리스트 상수 설명 값 CHAR_BIT 비트 필드가 없는 가장 작은 변수의 비트 수 8 SCHAR_MIN signed char의 최솟값 -128 SCHAR_MAX signed char의 최댓값 127 UCHAR_MAX unsigned char의 최댓값 255 (0xff) CHAR_MIN char의 최소값 -128 CHAR_MAX char의 최댓값 127 MB_LEN_MAX 여러 문자 상수에서의 최대 바이트 수 5 SHRT_MIN short의 최솟값 -32768 SHRT_MAX short의 최댓값 32767 USHRT_MAX unsigned short의 최댓값 65535 (0xffff) INT..
[안드로이드] 간단한 포토샵 앱 만들기 # 간단한 포토샵 기능 안드로이드 스튜디오에서 구현할 수 있는 이미지 편집 기능 중 7가지를 알아보겠습니다. # 준비물 버튼으로 사용할 이미지 7종 1. 사이즈+, 사이즈-, 밝기+, 밝기-, 그레이스케일, 블러, 엠보싱을 의미하는 32*32 사이즈의 이미지 7장 2. 편집 대상이 될 이미지 1장. 사이즈 300*300 정도 적당한 것. AndroidManifest.xml activity_main.xml MainActivity.java # Android manifest.xml android:hardwareAccelerated="false" 1. 블러링과 엠보싱 기능을 위해 하드웨어 가속을 꺼줍니다. AndroidManifest.xml 의 에 넣어줍니다. # activity_main.xml // 줌인 버튼..
[소켓프로그래밍] 기초 1. 소켓이란 무엇인가 # 일반 용어 네트워크에서 소켓이란 OSI 7 Layer ( Open System Interconnection 7 Layer )의 네 번째 계층인 TCP 상에서 동작하는 소켓을 주로 사용하는데 이를 TCP 소켓 혹은 TCP/IP 소켓 이라 합니다. 소켓의 역할 - 클라이언트 소켓 ( Client Socket ) ` 서버 소켓에게 네트워크 연결 요청을 보냅니다. ` IP주소와 포트번호로 서버 소켓을 식별합니다. ` 111.222.333.444:7000 // 밑 줄 친 부분이 IP 주소 : 굵은 부분이 포트 번호 - 서버 소켓 ( Server Socket ) ` 클라이언트 소켓의 네트워크 연결 요청을 받습니다. 클라이언트 소켓과 서버 소켓으로 구분지어 놨지만 역할이 다른 것일 뿐 동일한 소켓입니다. 연결 요..
[알고리즘/C++] 합병 정렬 Merge Sort # 문제 설명 n 개의 자연수 배열을 병합 정렬을 이용해 오름차순으로 정렬한다. # 입출력 예 입력 출력 8 7 6 3 1 5 2 4 8 1 2 3 4 5 6 7 8 # 문제 풀이 #include using namespace std; int arr[101], tmp[101]; void d(int left, int right){ int mid; int p1, p2, p3; if(left
[비주얼스튜디오] 빈 줄 없애기 Ctrl + H 로 찾기 및 바꾸기를 연다. 찾는 범위를 " 현재 문서 " 변경한다. ★★★ " 전체 솔루션" 으로 하게되면 다른 것까지 지워버리므로 꼭 바꿔줍니다. ★★★ Alt + E 로 정규식 사용을 활성화한다. 찾기 입력창에 ^(?([^\r\n])\s)*\r?$\r?\n 를 입력한다. Alt + A 모두 바꾸기를 누르면 현재 문서의 모든 빈 줄이 없어집니다. Alt + R 을 누르면 한 줄씩 차례대로 사라집니다.

728x90