반응형 프로그래밍 언어170 [C] 구조체 (structure) 구조체(structure)는 연관 있는 데이터를 하나로 묶을 수 있는 자료형으로 데이터의 표현 및 관리가 용이해진다. #define _CRT_SECURE_NO_WARNINGS #include struct point { int x, y; }; int main(void) { struct point pos; scanf("%d %d", &pos.x, &pos.y); printf("%d %d", pos.x, pos.y); } 구조체 변수의 선언과 초기화 구조체를 정의함과 동시에 변수를 선언할 수 있으며, 선언과 동시에 구조체 멤버에 값을 할당할 수도 있다. ※ 초기화하지 않은 일부 멤버는 Default 값으로 초기화 #include struct point { int x, y; }pos, pos2; int main.. 2021. 3. 19. [C] 조건문 (Switch문 예제) 조건문에는 if문과 switch문이 존재 switch 문에는 char, int, long, double 등의 자료형을 사용할 수 있습니다. * 주로 if문으로 처리하는 경우가 많지만 입력데이터 성격이나 가독성을 위해 Switch문이 사용되기도 합니다. swtich문 예시 - 각 case별 break문 처리를 해주어야 합니다. - else문과 비슷한 장치로 default문 존재. 2021. 3. 19. [C/C++] time(), clock()으로 실행시간 측정 ※ time(), clock() 함수를 사용하기 위해서는 파일을 include 한다. time() 함수 #include #include int main() { int sum = 0; time_t start = time(NULL); for (int i = 0; i < 10000; i++) for (int j = 0; j < 10000; j++) sum += i * j; time_t end = time(NULL); printf("소요시간: %lf\n", (double)(end - start)); } - time(NULL) 함수를 이용한 방법으로 ms가 아닌 초(second) 단위로 측정. * 소요시간은 실행할 때마다 다르게 측정될 수 있지만 PS에서 1억 Size (108)를 탐색할 때 1초 정도 소요. c.. 2021. 3. 19. [C] 중첩 for문 (한번에) 빠져나오기 이중 for문을 구현하다보면 내부 for문에서 한번에 빠져나오고 싶은 경우가 있습니다. break문은 현재 소속된 for문에서 빠져나오기 때문에 아래 3가지 정도의 테크닉을 통해 구현할 수 있습니다. ① "flag" 변수와 같은 별도 변수를 통한 처리 (구현 내용에 따라 증감되는 변수의 조건을 이용할 수도 있습니다.) #include int main() { int cnt = 0; while (true) { while (true) { if (cnt >= 10) break; cnt++; } if (cnt >= 10) break; } } ② 외부 for문이 끝나는 조건을 내부 for문이 끝날 때 동시에 설정하기 ※ for문인 경우, 바깥쪽에서 별도 변수나 if문 처리를 하지 않기 때문에 권장 #include .. 2021. 3. 19. [Java] [예제] 객체 배열 객체 배열 객체에 대한 레퍼런스를 원소로 갖는 배열 public class Person { public int age; public Person() {} public static void main(String[] args) { Person[] pArr; pArr = new Person[5]; for(int i=0; i 2021. 3. 7. [Java] [예제] 값에 의한 복사 vs 참조에 의한 복사 값(Value) 복사 public class Main { public static void main(String[] args) { int val = 10; // 값 복사 int copyVal = val; copyVal = 100; // 복사본 값 변경 System.out.println("원본: " + val); System.out.println("복사본: " + copyVal); } } 참조값(Reference) 복사 import java.util.Arrays; public class Main { public static void main(String[] args) { int[] arr = {10}; // 참조값 복사 int[] copyArr = arr; copyArr[0] = 100; // 복사본 값 .. 2021. 3. 7. [Java] 형 변환 형 변환 Java에서 형 변환은 두 가지로 나눠 볼 수 있는데, 자동(묵시적)형 변환과 명시적 형변환 [자동 타입 변환] 작은 데이터 타입 → 큰 데이터 타입 타입 변환을 하면 원본 데이터의 손실 없이 그대로 보존 되기 때문에 자동 타입 변환이 일어난다. byte >> short/ char >> int >> long >> float >> double 자동 형변환은 개발자가 별도의 작업을 하지 않아도 알아서 처리됩니다. 즉, JVM 내에서 알아서 해석되는 변환 작업이라고 생각할 수 있습니다. ex) 1G 메모리 카드에 있는 데이터를 2G 용량의 메모리 카드로 옮기는 작업을 할 때는 특별히 별도의 작업을 하지 않아도 되는 것과 비슷한 원리입니다. (작은 것 → 큰 것) [강제 타입 변환] 큰 데이터 타입 →.. 2021. 3. 7. [Java] Class와 Instance (객체 형태) Class와 Instance 클래스 = 객체를 만들기 위한 설계도 :: 정의 인스턴스는 = 설계도에 의해 만들어진 제품 :: 호출 public class Person { private String name; public int age; // 이름없이 생성 public Person() { } // 이름을 가지고 생성 public Person(String s) { name = s; } public String getName() { return name; } } (1) 클래스 접근권한 접근 권한을 표시하는 것으로, public 접근 권한은 다른 모든 클래스들이 이 클래스에 대해 사용 혹은 접근이 가능함을 뜻한다. ex) 비워놓거나 public / protected / private 등이 존재 (2) 클래스명 .. 2021. 3. 7. [Java] this & this() Java에서 this는 현재 실행되는 메소드가 속한 객체에 대한 레퍼런스 this는 컴파일러에 의해 자동으로 생성되며 개발자는 별도로 this를 선언할 필요 없이 사용하기만 하면됩니다. public class Person { public int age; public Person(int age) { this.age = age; } } 현재 위에는 인자의 변수와 멤버 변수의 이름이 동일합니다. 이는 인자의 목적을 그대로 표현하기 위해 이름을 동일하게 사용한 경우입니다. 하지만 이런 경우에는 어느 소속의 age 변수인지 확인할 수 있어야 하기 때문에 this 키워드를 사용. 실제 실무에서는 생성자를 작성할 때 다음과 같이 만들어 주는 것이 관례입니다. public class Shape { private cha.. 2021. 3. 6. [Java] Java 언어 특징 및 실행과정 Java 언어 특징 - 객체 지향 언어로서 클래스 계층 구조, 상속성, 다형성, 캡슐화 등을 지원 - Garbage Collection을 통한 메모리 관리 : 개발자 스스로 메모리를 관리하지 않기 때문에 코드가 간결해지거나 Business Logic에 좀 더 집중하여 개발과정 속도나 프로그램 안정성 측면에서 효과적. - 패키지(Package)를 통해 관련 있는 Class 파일들을 묶어서 관리할 수 있다. : 패키지를 디렉터리 계층 구조화를 통해 추후 같거나 유사한 기능을 재작성할 필요가 없으며 패키지별 접근 제한 기능도 있기에 회사의 자산이 될 수 있다. - JVM을 통한 플랫폼 독립성 Java 프로그램 생성 과정 (1) .java (Java로 작성된 소스파일) 파일 생성 : 텍스트 편집기나 Eclips.. 2021. 3. 4. 이전 1 ··· 11 12 13 14 15 16 17 다음 반응형