목록분류 전체보기 (213)
archive
C에서 Quick Sort인 qsort함수 사용하기 기본적으로 stdlib.h에서 Quick Sort 함수인 qsort 함수를 제공해주며 아래와 같습니다. void qsort(void *base, size_t nel, size_t width, int(*compare)(const void *, const void *); -base) 배열의 각 원소들의 총 수 -nel) 배열의 각 원소들의 총 수 -width) 배열에서 원소 하나의 크기 -* compare) 비교를 수행할 함수 포인터, C언어 안에서는 함수를 선언하고 구현한 뒤 다음처럼 포인터로 특정 함수를 지정할 수 있음 4번째 인자에 대해서 조금 더 자세히 설명하면 비교함수 내부에는 1, 0 , -1중에 하나를 반환해야합니다. 만약 오름차순으로 정렬을 ..
string.h 헤더 파일에 선언되어있음 char* strtok(char* str, char* delimiters); 매개변수 차례대로 토큰화 대상문자열, 토큰화 기준이 될 구분 문자열 strtok 이라는 함수의 이름을 분석해보면 str + tok 인데요. string을 tokenize한다. 라고 표현할 수 있습니다. 문자열(string)을 토큰(token)처럼 조각조각 내는 함수 입니다. char* 타입의 문자열 str을 첫번째 매개변수로 받아서, 두번째 매개변수로 들어온 char* 타입의 구분자를 기준으로 문자열을 이쁘게 잘라서 문자열의 포인터를 하나씩 하나씩 반환하는 함수 입니다. 반환값은 포인터를 반환하는데 자른 문자열을 가리키는 char* 입니다. 예제 char str[] = "Block D M..
1. null과 NullPointerException - 참조 타입 변수는 아직 번지를 저장하고 있지 않다는 뜻으로 null(널) 값을 가질 수 있음, null도 초기값으로 사용될 수 있기 때문에 null로 초기화된 참조변수는 스택 영역에 생성된다 -자바 프로그램 실행 도중에 참조 변수를 사용하면서 가장 많이 발생하는 예외 중 하나는 NullPointerException이다. 변수가 null인 상태에서 객체의 데이터나 메소드를 사용하려고 할 때 이 예외가 발생. int[] array = null; array[0] = 10; //NullPointerException -배열 변수 array에 null을 대입한 상태에서 배열 객체의 0 인덱스 항목에 10을 대입하는 코드를 실행하면 NullPointerExce..
1. switch 문 - Java 12 이후부터는 switch문에서 Expression (표현식)을 사용할 수 있다. - break 문을 없애는 대신에 화살표와 중괄호를 사용해 가독성이 좋아졌다. package March14; public class switchExpression { public static void main(String[] args) { // TODO Auto-generated method stub char grade='B'; switch(grade) { case 'A', 'a'->{ System.out.println("우수회원입니다."); } case 'B', 'b'->{ System.out.println("일반회원입니다."); } default->{ System.out.println..
1. 오버플로우와 언더플로우 -오버플로우(Overflow)란, 타입이 허용하는 최대값을 벗어나는 것을 이야기하며, 반대로 언더플로우(underflow)는 타입이 허용하는 최소값을 벗어나는 것을 이야기한다. -오버플로우와 언더플로우가 발생되면 실행에러를 발생시키는 것이 아닌 해당 정수 타입의 최소값(오버플로우의 경우) 혹은 최대값(언더플로우의 경우)으로 되돌아간다. - 예를 들어, byte 타입의 경우 최대값 127에서 1을 더하면 128이 되어 오버플로우가 발생, 연산의 결과는 -128이 되며 1을 더하여도 127로 복귀하지 않고 -127이 된다. byte value = 127; value++; System.out.println(value); //-128 -마찬가지로 -128에서 1을 뺴면 -129가 되..
++ 자바 개념 정리 카테고리에서의 [이것이 자바다] 태그에는 솦프 주교재인 이것이 자바다 책을 정독하면서 겨울방학 스터디 때 미처 숙지하지 못 하였거나 초면인 개념들을 다시 한 번 정리하여 업로드 할 예정임 1. 문자 타입 -문자 리터럴은 유니코드로 변환이 되어 저장되는데, 유니코드는 세계 각국의 문자를 0-65535 숫자로 매핑한 국제 표준 규약임, 자바는 이러한 유니코드를 저장할 수 있도록 char 타입을 제공한다. -유니코드가 정수이므로 char 타입도 정수 타입에 속한다. -그렇기 때문에 char 변수에 작은 따옴표로 감싼 문자가 아니라 유니코드 숫자를 직접 대입할 수도 있다. 2. 큰 따옴표 세 개 -Java 13부터는 다음과 같은 텍스트 블록 문법을 제공한다. String str=""" ....