전체 글 337

[단과_C] 2020.03.19

1. void 포인터  : 타입이 정해져있지 않은 포인터    사용시 형변환 후 사용 2. 동적 배열1) 동적할당(Dynamic allocation)    malloc(크기) : 리턴타입은 void*이다.    malloc(), 엠 얼로케이션, 말록이라고 불리움    헤더파일 필요   3. 자료형* 포인터명 = (자료형*)malloc(sizeof(자료형)*칸수);  4. 칸 수에 변수 사용이 가능하다.     int* arData = (int*)malloc(sizeof(int)*length); 5. 동적 할당 clear(clear allocation)  : 모든 비트를 0으로 만들어준다(초기화랑 개념이 다름)    자료형* 포인터명 = (자료형*)calloc(칸수, sizeof(자료형)); 6. 동적 ..

2020.03.19

1. JVM의 메모리 영역 1) Method Area(메소드 영역) : 프로그램 시작될때 생성, 프로그램 종료될 때 소멸 byte code, 리터럴(literal), 상수(final), static 2) Heap(힙) : new 생성시 생성, reference가 끊기면 Garbage Collection에 의해 자동으로 소멸 객체(object), 배열, new로 생성되는 모든 것 3) Stack(스택) : 블럭 안에서 선언될 때 생성, 블럭이 끝날 때 소멸 지역변수(local variable), 매개변수(argument) 2. 배열 생성 초기화 할 때 JVM 메모리에서 일어나는 일 : new 는 위와 같이 heap 에 객체를 생성하고, 생성된 주소를 리턴한다. 리턴된 주소는 score 변수값에 대입되고 s..

[단과_C] 2020.03.18

1. 포인터(주소값)    포인터 변수    포인터 상수(배열) : 값을 변경하기 위해서는 strcpy() 필요      변수 : 값을 담기 위한 저장공간    포인터 변수 : 주소값을 담기 위한 저장 공간    포인터 변수를 줄여서 포인터라고 부르기도 한다. 2. 포인터를 사용하는 이유 1) return값은 반드시 한 개여야 하기 때문에 포인터를 사용한다.    주소값은 유일하기 때문에(중복이 없기 때문에)    주소값을 다른 영역에 전달하면 (참조로 접근해서)값을 수정할 수 있다. 3. 포인터 확인하는 방법 1) 중단점 : F9 2) 디버그 : F5 3) 디버그클릭 > 창 > 자동 > 주소값 우클릭 > 값 복사 클릭 4) Ctrl + Alt + m, 1 : 메모리1 창 5) 주소 붙여넣기 6) 다음 ..

2020.03.18

1. 버그 : 논리적인 오류 2. 디버깅 : 시작점(breakpoint) 설정 > 벌레 모양 클릭 혹은 단축키 F11 이용 > 디버그 관점으로 바꾸기 > 디버그 모드에서 봐야하는 화면은 ①②③임(① 메소드 확인, ② 콘솔 출력 확인, ③ 변수값 확인) [추가] 디버그 종료 버튼과 디버그 관점 추가 확인하기 [추가] 최종적으로 디버그 모드가 종료되면 빨간색 종료버튼이 회색으로 변경됨 3. 제어문 1) 조건문(Conditional, branch, selection) : if~else, switch~case 2) 순환문(loop, iteration) : for, while, do~while 4. for문과 while문은 100% 전환 가능 5. 코딩 문제 은행 : http://jungol.co.kr/ [실습코..

[단과_C] 2020.03.17

1. 다른 파일의 변수를 사용하고 싶을 때는 전역변수로 선언한 후 사용할 파일에서 extern키워드로 선언한다.  2. 다른 파일의 함수를 사용하고 싶을 때에는 헤더파일에 선언 후 사용할 파일에서 #include키워드로 사용한다.  3. 전역 변수가 먼저 있었고 메모리 관리를 위해 지역 변수가 생김  4. 오늘 실습 코드1) 헤더파일 선언 후 함수 사용, 다른 파일에 있는 변수 사용하기 예제** storage_class.c **#include//정적변수는 해당 파일에서만 사용 가능하다.//static int data = 100;//전역변수는 다른 파일에서 extern 키워드로 선언하면 사용 가능하다.int data = 100;//void main() {// //function();// printf("%d..

2020.03.17

1. Java Primitive Type 8가지 : byte 1바이트, short 2 바이트, int 4바이트, long 8바이트, float 4바이트, double 8바이트, char 2바이트, boolean 2. 기본 타입간의 자동 형변환(implicit casting) : byte > short > int > long > float > double : char > int 기본적으로 작은 크기에서 큰 크기로, 정수타입에서 실수타입으로 자동형변환 3. 연산자(Operator) : 연산, 연산자, 피연산자 연산(Operation) : 4 + 2 연산자(Operator) : 4, 2 피연산자(Operand) : + : 단항연산자(unary operator), 이항연산자(binary operator), 삼항..

[단과_C] 2020.03.16

1. 기억 저장 부류   해당 파일만 가능 : 정적변수    다른 파일도 가능 : 전역변수  2. 오늘 실습 코드1) functionTask.c#include#include/* [고급] 4자리 정수를 한글로 바꿔주는 함수 5개의 정수를 오름차순으로 정렬하는 함수*///5개의 정수를 입력받고 최소값과 최대값을 구해주는 함수//int* getMaxAndMin(int arData[], int length) {// //result[0] : 최대값// //result[1] : 최소값// int result[2] = { arData[0], arData[0] };// for (int i = 1; i arData[i]) {// result[1] = arData[i];// }// }// return result;..

2020.03.16

[step01] JDK 설치와 환경설정 1. jdk 설치 여부 확인하기 : 윈도우 + r > 실행 창에 cmd 입력 > cmd창에 java -version, javac -version 명령어 실행 java : 자바 실행 파일 *.class 파일을 실행 javac : 자바 컴파일러 *.java 파일을 컴파일 2. 개발자는 탐색기에서 파일 확장명과 숨긴항목은 반드시 보이게 해놓는 것이 기본 : 보기 > 표시/숨기기 > 파일 확장명, 숨긴 항목 체크 3. 경로 설정은 왠만하면 공백, 한글, 특수문자보다는 영어로 사용하는 것을 권장 4. jdk는 1.8 업데이트 241번째 버전을 사용함 : http://oracle.com/ > Downloads 클릭 > Java(JDK) for Developers 클릭 > JD..

학습목표 및 일정(3월 16일 ~ 8월 06일)

1. 과정 목표 : JAVA 기반의 웹/앱 어플리케이션 기술 학습 및 제작 클라이언트(프론트엔드), 웹서버(백엔드) 환경에서 실제로 서비스 가능한 어플리케이션 제작 2. 훈련내용 1) NCS 과정 프로그래밍 언어 활용(Java) - 프로그래밍 언어 활용 데이터베이스 구현 및 SQL(Oracle) - SQL 활용, 데이터베이스 구현 UI/UX 구현(FrontEnd, Android) - UI 구현 애플리케이션 구현(JSP, Spring) - 서버프로그램 구현, 요구사항 확인, 인터페이스 구현, 통합 구현 애플리케이션 테스트 - 애플리케이션 테스트 수행 디바이스 애플리케이션 구현(Arduino) - 임베디드 애플리케이션 구현 2) 비NCS(프로젝트) 실무 프로젝트 기획 - 개발 일정표 작성 실무 프로젝트 구현..

[단과_C] 2020.03.13

1. 헤더파일  : 기존 헤더파일은 로 추가하고    사용자가 만든 헤더파일은 ""로 추가한다.    페이지 상단(헤드)에 포함시키기 때문에 헤더파일로 명명하고    여러 함수들을 정의해놓은 후 다른 파일에 포함시켜 사용한다.  2. 헤더파일 생성(헤더파일 우클릭 > 추가 > 새항목, Ctrl + Shift + A) 3. 함수를 사용하는 이유 1) 반복되는 기능(작업)을 쉽게 관리하기 위해서, 재사용의 목적     리턴값이 있고 특정성을 부여해서는 안된다.    2) 소스코드 간결화    대부분 리턴값이 없다. 4. 리턴을 사용해야 할 때  : 함수 내에서 모든 작업이 완료되지 못할 때    사용하는 부분에 작업의 결과를 알려야 할 때 5. 리턴을 사용하지 않을 때  : 함수 내에서 모든 작업이 완료될 ..