[고급 C++]포인터 1편(프로세스/포인터변수/포인터연산/NULL포인터) 프로세스 프로세스 정의 메모리에서 실행중인 프로그램 특징 - xx번지라고 하는 주소 개념을 가짐 - 메모리 주소 공간은 스택 세그먼트 / 힙세그먼트 / 데이터 / 코드 세그먼트로 구분 - 제한된 공 mk28.tistory.com [고급 C++]포인터 2편(배열과 포인터) 배열과 포인터 1차원 배열과 포인터 배열 특성 - 배열의 이름은 배열의 시작주소(num = &num[0] =배열의 시작주소) - 연속적인 메모리 할당 보장 1 #include 2 int main() 3 { 4 int num[5] = {1.. mk28.tistory.com 배열포인터 다차원 배열의 시작주소를 저장하여 데이터로 사용하는 포인터 변수를 의미 * 2차원 배..
배열과 포인터 1차원 배열과 포인터 배열 특성 - 배열의 이름은 배열의 시작주소(num = &num[0] =배열의 시작주소) - 연속적인 메모리 할당 보장 1 #include 2 int main() 3 { 4 int num[5] = {100, 200, 300, 400, 500}, i; 5 int *p1; 6 7 printf("%d, %d \n", sizeof(num), sizeof(num[0])); 8 9 printf("\n"); 10 for(i = 0; i < 5; i++) 11 printf("%p: %d \n", &num[i], num[i]); // 연속된 메모리 보장 12 13 return 0; 14 } :!a.out 20, 4 7ffff0f0: 100 7ffff0f4: 200 7ffff0f8: 3..
프로세스 프로세스 정의 메모리에서 실행중인 프로그램 특징 - xx번지라고 하는 주소 개념을 가짐 - 메모리 주소 공간은 스택 세그먼트 / 힙세그먼트 / 데이터 / 코드 세그먼트로 구분 - 제한된 공간에 적재하기 위해 운영체제가 관리 메모리 주소공간 - 메모리에 할당된 모든것은 시작주소가 있음 - 메모리 공간 1) 스택 세그먼트 : 지역변수 저장(임시데이터 저장공간) 2) 힙 세그먼트 : 동적메모리 할당 요청시 사용되는 공간 3) 데이터 세그먼트 : 전역변수, 정적변수 저장 4) 코드 세그먼트 : 프로그램의 실행코드와 함수 저장 포인터 포인터 정의 실행중인 프로세스의 임의의 주소 특징 메모리 공간의 주소를 확인하고 제어할 수 있는 자료형으로 메모리를 직접 조작할 수 있음 포인터 자료형 - 1) 포인터 선언..
조건 컴파일 전처리기의 이해 전처리란 원시 소스파일을 컴파일하기 전에 행해야 할 작업 특징 - 프로그램이 컴파일되기 전에 선행 - #으로 시작 - ;로 끝나면 안됨 매크로 상수 - #define 문을 이용하여 정의하는 상수 - 프로그램 전체에서 텍스트 대치를 선행처리기에게 알림 - 일련의 문자들이 다른 문자로 대치되는 매크로 대치 과정 조건컴파일 - 프로그램 코드의 일부가 선택적으로 컴파일될 수 있게함 - 지시자 : #if #elif, ,#else, #endif, #ifdef, #ifndef - 헤더파일의 중복 문제 #ifndef _POINT_H_ #define _POINT_H_ struct Point { int x, y; } pos; #endif ※ 시스템 헤더파일은 한번만 정의되도록 설계 vi /us..
C 컴파일러 #include int main() { printf("Hello World. \n"); return 0; } 컴파일러 종류 cc 유닉스에서 사용하는 표준 C 컴파일러 gcc GNU C 컴파일러로 주로 리눅스 시스템에서 사용함 컴파일 과정 1) 전처리 과정 #define, #include, #if와 같은 지시자 처리 2) 컴파일 전처리 작업을 수행한 소스 코드를 어셈블리 코드로 변환 후 오브젝트 파일로 변환 원시파일의 문맥과 문법을 확인하여 오류가 없으면 소스코드를 기계어 코드로 번역 3) 링크 오브젝트 파일과 라이브러리 함수를 연결하여 실행가능한 실행파일을 생성 CC컴파일 옵션 -o : 실행파일 이름 지정 /data/it/it03]cc hello.c -o hello /data/it/it03]..
그러게. 노래 들으면 작곡가가 저작권료 받는 것이랑 다르게 유료 논문을 보면 저자에게 돈이 가는 것이 아니다. 그런데도 비싼 돈내고 논문을 보는 것이 이상하지 않은가? 이에 의문을 가진 한 사람이 만든 것이 논문을 무상으로 제공하는 사이허브이다. 사이허브는 카자흐스탄 출신의 알렉산드라 엘바키얀이 구축한 디지털 논문 저장소다. 지식은 공유될 때 가치가 높아지기에 학술지 출판 기업들의 수익 독점에 저항하는 것. 멋있다! ❌https://sci-hub.im/ ❌https://sci-hub.tw/ ⭕scihub.wikicn.top/ Sci-Hub The project is supported by user donations. Imagine the world with free access to knowledge f..
문제 최대 공약수 구하기 두 정수 a, b의 최대공약수를 구하는 함수 get_gcd()를 구현해보세요. int get_gcd(int a, int b) { // 두 정수 a, b의 최대공약수를 구하는 함수를 구현할 것! } int main() { int gcd = get_gcd(26, 48); cout
1.1 기계학습이란 무엇인가 - 데이터를 정보로 변환하는 일련의 과정(Data → Information) - 목적 : ‘가치 있는 정보를 캐낸다’ 1.1.2 기계학습은 점점 중요해질 것이다 · 데이터 홍수 · 지식 노동의 시대 : 데이터를 이해하는 일은 더욱 더 중요한 기술! 1.2 주요 전문 용어 [값 유형] 명목형 값 - 참 또는 거짓을 판별 할 수 있는 경우 - 예) 파충류, 어류, 포유류 등 ☞ 분류 수치형 값 - 한정되지 않은 수치형 값을 가지는 경우 - 예) 402.001, 1000.743 등 ☞ 회귀 [변수 유형] 목적 변수 - 기계학습 알고리즘을 가지고 예측하고자 하는 것 속성(features) = 특성(attributes) - 목적 변수에 대한 속성 * 머신러닝 목적이 속성과 목적 변수 ..
앱을 개발하기 앞서 네이티브앱 웹앱 그리고 하이브리드앱은 각각 장단점을 갖는다. 개발자인 나의 입장으로서는 안드로이드, 아이폰 그리고 더 많은 형태의 플랫폼을 지원하기 위해서 웹앱으로 만들어버리는 게 편하다. 그런데 문득 드는 생각이 과연 개발의 관점에서의 장점만을 추구하는것이 맞을까? 이 후 이 앱을 사용할 사용자들의 편리성, 직관이 더 중요하지 않을까? 아래 내용은 Charland가 저술한 "Mobile Application Development: Web vs. Native"에 관해 번역 정리한 내용이다. Mobile Application Development: Web vs. Native 웹 앱의 개발, 배포가 네이티브 앱보다 저렴하지만 과연 UX도 네이티브 앱에 필적할까? 애플이 아이폰을 출시하면서..