Source Code#include #include #include typedef struct ListNode{ char data[4]; struct ListNode* link;} listNode;typedef struct{ listNode* head;} linkedList_h;linkedList_h* createLinkedList_h(void){ linkedList_h* L; L = (linkedList_h*)malloc(sizeof(linkedList_h)); L->head = NULL; return L;}void freeLinkedList_h(linkedList_h* L){ listNode* p; while (L->head != NULL) { p = L->head; L->head = L->he..
Source Code#include #include #include typedef struct ListNode{ char data[4]; struct ListNode* link;} listNode;typedef struct{ listNode* head;} linkedList_h;linkedList_h* createLinkedList_h(void){ linkedList_h* L; L = (linkedList_h*)malloc(sizeof(linkedList_h)); L->head = NULL; return L;}void freeLinkedList_h(linkedList_h* L){ listNode* p; while (L->head != NULL) { p = L->head; L->head = L->hea..
Source Code1#include #include #include // 단순 연결 리스트의 노드 구조를 구조체로 정의typedef struct ListNode { char data[4]; struct ListNode* link;} listNode;// 리스트의 시작을 나타내는 head 노드를 구조체로 정의typedef struct { listNode* head;} linkedList_h;// 공백 연결 리스트를 생성하는 연산linkedList_h* createLinkedList_h(void) { linkedList_h* L; L = (linkedList_h*)malloc(sizeof(linkedList_h)); L->head = NULL; // 공백 리스트이므로 NULL로 설정 return L;}/..
Source Code#include void main(){ char* ptrArray[2]; char** ptrptr; int i; ptrArray[0] = "Korea"; ptrArray[1] = "Seoul"; ptrptr = ptrArray; printf("\n ptrArray[0]의 주소 (&ptrArray[0]) = %u", &ptrArray[0]); printf("\n ptrArray[0]의 값 (ptrArray[0]) = %u", ptrArray[0]); printf("\n ptrArray[0]의 참조값 (*ptrArray[0]) = %c", *ptrArray[0]); printf("\n ptrArray[0]의 참조문자열 (*ptrArray[0]) = %s \n", *ptrArray); pr..
Collection 클래스 정렬과 탐색 등 자료구조의 기능들을 구현한 메소드를 제공한다.정렬 = sorting 특정 기준에 맞춰서 데이터들을 순서대로 나열하는 것. 기본적으로 오름차순 정렬을 제공한다.섞기 =shuffling 원소들을 랜덤하게 만든다.탐색 =searching 미리 정렬되어 있는 리스트 안에서 특정 원소를 찾는 것 기본적으로 binarysearch 방법을 사용한다. 반환값이 양수이면 탐색이 성공 음수면 실패이다.자주 사용하는 기능으로는 min() 최소값을 찾는 경우 max() 최대값을 찾는 경우reverse() 리스트 안의 원소들의 순번을 반대로 바꿀 때 사용한다.import java.util.*;import java.util.Vector;public class MB_..
== 데이터의 집합==Java Collection에는 List, Map, Set 인터페이스를 기준으로 여러 구현체가 존재한다.이에 더해 Stack과 Queue 인터페이스도 존재한다.Q.왜 이러한 Collection 을 사용하는 것일까?A1.다수의 Data 를 다루는데 표준화된 클래스들을 제공해주기 때문에 DataStructure를 직접 구현하지 않고 편하게 사용할 수 있기 때문이다.A2.배열과 다르게 객체를 보관하기 위한 공간을 미리 정하지 않아도 되므로, 객체의 수를 동적으로 정할 수 있다. 이는 프로그램의 공간적인 효율성 또한 높여준다. List - 순서O, 데이터 중복O- 가변적인 크기(ArrayList는 list를 배열 형태로 구현한 것으로 크기가 자동으로 조정된다.)- 데이..
제네릭스 ArrayList pitches = new ArrayList(); 사용하지 않은 예시 - ArrayList에 추가하는 객체는 Object 자료형(가장 기본)으로 인식 -따라서 ArrayList 객체인 pitches에 값을 넣을 때는 문제가 없지만 값을 가져올 때는 매번 Object 자료형에서 String 자료형으로 형 변환(casting) 을 해야 한다 ArrayList pitches = new ArrayList(); pitches.add("138"); // Object형으로 인식(객체형이 가장기본) pitches.add("129"); //추가할때마다 일일이 Object 자료형을 String 자료형으로 형 변환해야함 String one = (String) pitches.get(0); String..
자바는 접근제어자를 사용하여 변수나 메소드의 사용 권한을 설정할 수 있다.private -> default -> protected -> public 순으로 보다 많은 접근을 허용한다. private접근제어자가 private으로 설정되었다면 private 이 붙은 변수, 메소드는 해당 클래스에서만 접근이 가능하다.public class Sample { private String secret; private String getSecret() { return this.secret; }}secret 변수와 getSecret 메소드는 오직 Sample 클래스에서만 접근이 가능하고 다른 클래스에서는 접근이 불가능 default접근 제어자를 별도로 설정하..
JVM : Java Virtual Machine의 약자로, 자바 가상 머신이다. java와 os 사이에서 중개자 역할을 수행하며, java가 os에 구애 받지 않고 program을 실행할 수 있도록 도와준다. java는 OS에 독립적인 특징을 가지고 있는데, 그것이 가능한 이유는 JVM상에서 실행되기 때문이다. java 소스코드 컴파일 -> 생성된 파일이 해석(Interpret)과 Link없이 바로 JVM에 적재 -> OS로 부터 메모리를 할당, GC(Garbage Collection)를 통해 스스로 메모리 관리 메모리 누수 ==garbage C언어 포인터 , d2=d1 하면 d2는 안쓰고, 스택이랑 연결끊김 ,저런 메모리 삭제 안하면 터짐 그래서 자바에서 jvm 생김 -> GC(Garbage Colle..
DBTestMain package ko.co.mlec.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; /* * * 작업순서 * 1. JDBC 드라이버 로딩 * 2. DB접속 하여 연결객체 얻어오기 * 3. SQL 쿼리 생성 * 4. 쿼리 실행 및 결과 얻기 * 5. 접속 해제 * */ public class DBTestMain {// 자바와 DB 연결 class 생성 public static void main(String[] args) {// 자바 DB 연결 메인 작성 // 이름 틀릴 수도 있어서 예외처리 해줘야함 // 예외처리를 담당하는 구문. 예외가 발생할 수 있는 부분을 try ..