목록[Programming Language] (36)
heenam
print : 괄호안 내용을 단순히 출력. 줄바꿈 포함이 안되어 있음 (\n사용 해야됨) printf : C에서의 printf와 동일. %d, %s 등을 쓰기위해 사용. print와 마찬가지로 줄바꿈 포함 안되어 있음. println : print와 사용하는건 같지만 줄바꿈 포함되어 있음. print 와 println은 출력과 값을 이어 주려면 +를 사용하여 연결 class Ex { public static void main (String[] args) { int result = 3; System.out.print("값은" + result + "입니다.\n"); System.out.print("값은 %d 입니다.\n", result); System.out.print("값은" + result + "입니다...
절차지향언어 C언어가 대표적인 언어이다 개체를 순차적으로 처리하여 프로그램 전체가 유기적으로 연결되어야 한다. 절차지향언어의 구조는 컴퓨터의 처리구조와 유사하다. 절차지향언어의 장점 실행 속도가 빠르다. 절차지향언어의 단점 구성 요소가 유기적으로 연결되어 있어 하나가 고장났을 때 시스템 전체가 고장난다. 또한 문제를 해결하기 위해 일부분이 아닌 시스템 전체를 수리해야 한다. 절차지향언어는 이러한 유지 보수가 매우 까다로운 편이며, 디버깅(프로그램 문제를 찾아내어 고치는 과정)이 어렵다. 절차지향언어는 실행순서가 정해져 있기 떄문에 코드의 순서가 바뀌면 결과가 달라질 가능성이 높다. 즉, 언어의 융통성이 부족하여 생산 효율이 떨어진다. 객체지향언어 자바, C++파이썬이 대표적인 언어이다. 프로그램을 다수의..
자료구조란? 자료의 집합을 의미하며, 각 원소들이 논리적으로 정의된 규칙에 의해 나열되며 자료에 대한 처리를 효율적으로 수행할 수 있도록 자료를 구분하여 표현한 것이다. 자료구조의 목적은 자료를 더 효율적으로 저장하고, 관리하기 위해 사용하며, 잘 선택된 자료구조는 실행시간을 단축시켜주거나 메모리 용량의 절약을 이끌어 낼 수 있다. 자료를 보다 효율적으로 하기 위해서 처리시간, 크기, 활용 빈도, 갱신 정도, 프로그램의 용이성과 같은 사항을 고려하여 선택, 사용해야 한다. 자료구조는 크게 3가지 특징이 있다. 첫째로 효율성이다. 자료구조를 사용하는 목적은 효율적인 데이터의 관리 및 사용이다. 따라서 적절한 자료구조를 선택하여 사용한다면 업무의 효율이 올라갈 것이다. 두번째로 추상화이다. 추상화란 복잡한 ..
ls - 현재 위치의 파일 목록을 조회해줌 ls-l : 파일들의 상세정보를 나타냄 ls-a : 숨어있는 파일들도 표시됨 ls-t : 파일들을 생성된 시간별로 표시 ls-rt : ls-t와 반대로 표시 cd -경로를 이동할때 사용 cd ~ : 한번에 홈디렉토리로 이동 cd .. : 상위 디렉토리로 이동 cd/dir : 절대경로 dir로 이동 cd - : 이동하기 바로전의 디렉토리로 이동 touch - 파일의 용량이 0인 파일을 생성, 날짜 변경 touch filename : filename 의 파일을 생성 touch -c filename : filename 의 시간을 현재시간으로 변경 touch -t 200001011200 filename 의 시간을 날짜정보(YYYYYMMDDhhmm) 로 변경 touch ..
Call by value 가장 일반적인 함수 호출의 형태로 호출방식은 값의 복사로 이루어 진다. 함수 안에서 인자의 값이 변경되어도, 외부의 변수의 값은 변경되지 않는다. 함수가 종료되면 해당 공간은 사라진다. Call by reference 함수 호출시 변수의 주소를 전달해 인자로 전달된 주소가 가리키는 변수의 조작을 함수 내에서 가능하게 한다. 함수를 위한 변도의 임시공간에 생성된다. 마찬가지로 함수가 종료되면 해당 공간은 사라진다. 함수 안에서 인자의 값이 변경되면, 외부의 변수의 값도 변경된다. Call by value의 경우 말 그대로 데이터(값)을 복사해서 함수로 전달하기 때문에 원본의 데이터(값)가 변경 될 가능성이 없지만, 인자를 넘겨줄 때 마다 메모리의 공간을 할당하기 때문에 메모리 공간..
파일의 분할 파일을 그냥 둬도 될까요? 한 파일에 모든 것을 담는 것보다 여러개의 파일을 만들어서 서로 연관 있는 함수와 변수들을 구분해서 담는게 좋다. 외부에 선언 및 정의되었다고 컴파일러에게 알려줘야 합니다. 파일을 분할해서 컴파일 하기 위해서는 컴파일러에게 다음과 같은 내용의 메시지를 전달해야 한다. extern int num // int형 변수 num이 외부에 선언되어 있다. 이처럼 외부에 선언되었음을 컴파일러에게 알리는 extern을 사용한다. 함수에서도 사용 가능하다. extern void Increment(void) // void Increment(void) 함수가 외부에 정의되어 있다. 구체적으로 어느 파일에 선언 및 정의되어있는지 까지는 알리지 않아도 된다. 다른 파일에서 접근을 못하게 ..
선행처리기와 매크로 선행처리는 컴파일 이전의 처리를 의미합니다. 선행처리 과정을 거쳐서 생성되는 파일도 그냥 소스파일일 뿐이다. 왜냐하면 소스파일의 형태가 그래도 유지되기 때문이다. 선행처리가 하는 일은 지극히 단순하다. 삽입해 놓은 선행처리 명령문대로 소스코드의 일부를 수정할 뿐인데, 여기서 말한 수정은 단순치환의 형태를 띠는 경우가 대부분이다. 이처럼 선행처리 명령문은 #문자로 시작을 하며, 컴파일러가 아닌 선행처리기에 의해서 처리되는 문장이기 때문에 명령문의 끝에 세미콜론을 붙이지 않는다. #지시자 매크로 매크로몸체 로 이루어져 있다. *매크로는 대문자로 입력한다. 대표적인 선행처리 명령문 #define: object-like macro #define 지시자는 이어서 등장하는 메크로를 마지막에 등장..
C언어의 메모리 구조 메모리의 구성 프로그램 실행 시 운영체제에 의해서 마련되는 메모리의 구조는 다음과 같이 네 개의 영역으로 구분이 된다. 코드 영역 데이터 영역 힙 영역 스택 영역 메모리 공간을 나눠놓은 이유는 유사한 성향의 데이터를 묶어서 저장을 하면, 관리가 용이해지고 메모리의 접근 속도가 향상된다. 메모리 영역별로 저장되는 데이터 유형 + 코드영역 코드 영역은 이름 그대로 실행할 프로그램이 코드가 저장되는 메모리 공간이다. 따라서 CPU는 코드 영역에 저장된 명령문들을 하나씩 가져가서 실행을 한다. + 데이터 영역 데이터 영역에는 전역변수와 static으로 선역되는 static변수가 할당된다. 즉, 이 영역에 할당되는 변수들은 프로그램의 시작과 동시에 메모리 공간에 할당되어 프로그램 종료 시까지..