목록Language (76)
한 걸음 두 걸음

01 연산자 응용 sizeof(자료형) 자료형인 int, double, char을 씁니다. int nData; sizeof(nData); //해주면 int의 크기인 4가 출력됩니다. int nData[3]; sizeof(nData); // 해주면 int[3]의 크기인 12가 출력됩니다. Alt+8 디스어셈플리 //머신코드를 확인합니다 A-B == 0 ?인지확인하여 두 수가 같은지 확인할 수 있습니다. ( A == B) 참 = 1 = true 거짓 = 0 = false 여기서 주의할 점! float, double로 연산할 때는 == 비교하면 오차가 있어 안됩니다! ->switch에서도 case '정수':로 쓰는게 좋다 (==연산을 하기 때문ㅇ) 논리연산자 && || ! 식1(관계연산) || 식2(산술연산)..
HCI : 사람과 컴퓨터사이의 인터랙션 그 중 하나인 입출력을 공부할 예정입니다. DOS -> GUI -> UX/UI 컴퓨터란 국가의 기반이 되는 영토, 영해, 영공 = H/W 정부가 커널(시스템프로그래밍, OS) 그리고 가정이 Process 가정 내의 구성원이 thread(멀티스레드) 단, 여기서 디버거가 경찰의 역할을 하며 프로세스간 간섭(소프트웨어적 결함, 간섭)을 막습니다. 그리고 여기서 커널이 I/O 입출력의 주체입니다. Write Read 파일 규칙(프로토콜) File은 사용자가 커널과 소통하기 위해서 만든 것입니다. (getchar / putchar : I/O 버퍼에 넣어요) 여기서 랜카드(HW)를 움직이는 TCP프로토콜(커널)을 움직이게 하는 파일이 바로 Socket입니다. 그래서 데이터가..

2017에서 프로젝트 새로만들기 해주고 Visual C++ - 빈프로젝트 선택 후 control shift A 눌러서 새 항목 추가 창 띄운 후 C++파일 선택에서 cpp를 c로 확장자 변경하여 추가해주면 C프로젝트가 열립니다.

C언어의 기본소개 C언어로 UNIX(B언어를 만든 커닝헨(실패)-> C언어를 만든 데니스 리치(성공))를 만들었습니다. B언어와 C언어로 바뀔 때 바뀐 부분은 바로 자료형(포인터 등 메모리를 통제하는 형식)입니다. 이로써 유닉스를 만드는데 성공합니다. 자료형은 메모리를 해석하는 형식입니다. C언어 표준 스택 C언어의 표준 : C95(20년전 표준으로 쓰인 버전) -> 최신 C11(멀티스레드(시스템프로그래밍)에 대한 개념을 알아야합니다.) 해당 이러닝은 C99를 사용하였는데, inline 함수 (long long int %lld / inline함수(성능과 직결))에 대해 알아야합니다. 개발환경 Visual Studio 2013 (Community버전보다 Professional을 사용하는 것을 추천 - 대학..
ArrayList는 객체 내부에서 배열을 관리하는 것으로, 한 번 생성하면 자동으로 길이가 조절되기 때문에 사용하기 편합니다. ArrayList str = new ArrayList();으로 만들 수 있습니다. 데이터추가 add(element)르 ㄹ사용합니다. 데이터접근 get(index) 데이터삭제 remove(index) 등으로 사용합니다. ArrayList의 특징 데이터의 순서가 있으며 배열과 같이 데이터 저장을 인덱스 기반으로 수행합니다. 같은 자료형들을 저장합니다. index는 0부터 시작합니다. 사용예시는 다음과 같습니다. 1. 큐처럼 사용하기 ArrayList arr = new ArrayList(); arr.add(1); arr.add(2); arr.add(3); // arr = 1/2/3 /..
import java.util.*; import java.lang.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Queue queue = new LinkedList(); //Integer 이와에 커스텀 Pair자료 등등 다양하게 사용하시면 됩니다. queue.add(3); queue.add(4); System.out.println(queue.poll()); System.out.println(queue.poll()); System.out.println(queue.isEmpty()); queue.offer(5); queue.offer(6); System.out.println(..
Object 어떤 클래스에서 조금 변경된 객체를 생성하지만, 상위 클래스의 상속을 명시하지 않고 객체를 생성할 때 사용합니다. Object의 표현은 Java의 익명객체와 같고, 객체의 선언은 자바의 싱글턴과 비슷합니다. Companion Object는 어떤 클래스와 관계된 싱글턴이 필요할 때 사용합니다. 싱글턴 + 클래스메소드(static) (JAVA에는 Static함수가 없습니다.) 사용방법 아래처럼 Runnable을 상속받은 클래스를 따로 만들어주지않고 바로 object로 처리할 수 있엇음~ fun main(args : Array){ val t = Thread(object : Runnable); { override fun run(){ println("hello world") } } t. run() }..
데이터클래스 data class User(val name : String, var a : Int) //기본 생성자는 1개 이상이어야합니다. var 이나 val //이는 데이터값만 가지고있는 클래스입니다. //abstrct open sealed inner 등이 안됩니다. 데이터클래스를 활용하면 equals hashCode copy toStirng과 같은 함수를 자동으로 만들어줍니다. 단, 기본 프로퍼티로 지정된 변수에 대해서만 생성됩니다. 흐호호 중첩클래스 중첩클래스class A{ private val b : Int = 1; class N { fun foo() = 2; //N클래스는 b에 접근할 수 없습니다. } } var demo = A.N().foo() // 2 2. 내부클래스(inner) 이는 바깥쪽..