전체 글 49

2,1 변수와 자료형

변수변수 : 단 하나의 값을 저장할 수 있는 메모리 공간변수를 사용하기 위해서는 우선 선언을 해 주어야 한다. ex) int age;변수를 초기화하기 전에는 쓰레기값이 저장되어 있다. Why? 메모리를 지우지 않고 계속 덮어 쓰기 때문에 다른 프로그램에 의한 쓰레기값이 남아 있는 것.변수의 초기화 : ex) int age = 25;* 예전 컴파일러에서는 선언문과 초기화를 섞어 쓰면 에러가 나기도 한다. int age; age = 25; int grade; ​ //에러발생 int age; int grade; age = 25; ​ //OK int age; age = 25; int grade; ​ //에러발생 int age; int grade; age = 25; ​ //OK 변수의 값 교환하기x와 y의 값을 ..

Study/C,C++ 2018.07.16

2.2 sizeof, 화면입출력, 상수, 리터럴

sizeof 연산자sizeof : 타입 또는 변수의 크기를 바이트단위로 알려준다.같은 타입이라도 각 CPU종류와 컴파일러에 따라 크기가 다르기 때문에 필요하다. (같은 int라도 어떤 컴퓨터에서는 4byte, 어떤 컴퓨터에서는 2byte가 가능) sizeof 변수: 변수의 크기를 byte단위의 정수로 반환. sizeof (타입): 타입의 크기를 byte단위의 정수로 반환. ​ ex) int i = 100; printf("%d", sizeof i); printf("%d", sizeof(int)); 상수와 리터럴 상수(constant): "한번만 값을 저장할 수 있는 공간."선언과 동시에 초기화 해야 한다. 한 번 값을 저장하면 변경할 수 없다.상수는 보통 대문자만으로 이름을 정한다. const int MA..

Study/C,C++ 2018.07.16

2. Hello, World!

0. 우선 환경변수를 등록하는 것 부터 시작한다. ...\MingW\bin을 Path에 등록한다. (gcc는 컴파일러다.) * gcc가 잘 설치되어있나 알아보기 위해 버전을 확인하는 방법: cmd에서 gcc --version 1. 텍스트 파일을 만들어 아래의 내용을 입력하고 .c파일로 저장하자. 1 2 3 4 5 6 #include int main() { printf("Hello, world!"); return 0; } cs 2. cmd를 열고 gcc ~.c를 입력하면(컴파일하면) a.exe파일이 나온다. 3. cmd에서 a를 실행시키면 "Hello, world!"가 뜬다. -

Study/C,C++ 2016.12.20

1. 기초부터

일단 C를 이용하여 자료구조를 공부할 것이다.CLion과 MingW를 깔았다. MingW에서는 C관련 플러그인들을 깔았고.찾아보니 GNU는 리눅스같은 OS인데 어떻게 쓸 지 모르겠다. | CPU CPU. 중앙처리장치. input을 받으면 output을 내는 함수같은 존재다. 연산을 담당한다.코어는 cpu의 핵심 부품 정도로 생각하면 된다. 클럭은 CPU의 속도랑 비슷한 개념이다. 클럭이 높을수록 같은 시간 내 처리하는 신호가 많다는 의미다.참고로 CPU는 표준화가 되어 있지 않다. 인텔과 AMD는 다르다는게 이거였다. | Assembly language [어셈블리어] cpu는 연산을 담당한다고 했다. 연산에 번호를 붙여서 1번 연산, 2번 연산, 3번 연산...힘들다. 그래서 이들에 이름을 붙여 준다. ..

Study/C,C++ 2016.12.20

0. Unix와 Linux

| Unix 컴퓨터 운영체제 中 하나. 데스크탑/ 임베디드/ 서버용으로 쓰인다. C언어가 유닉스 프로그래밍을 하기 위해 만들어졌다고 한다.유닉스를 모방한 운영체제들이 나타나자, 이들을 표준화하기 위해 POSIX가 생겼다. 다르게 말해서, POSIX 표준을 만족하면? 유닉스 계열 운영체제다. 리눅스도 이중에 하나다. | Linux 유닉스 계열 운영체제 중 하나(or 커널). 즉, POSIX을 만족한다.(참고로 안드로이드는 리눅스 기반이다.)프리-소프트웨어다보니 버전(배포판)이 여러개다. 이 중에 유명한 버전이 우분투인거고. * POSIX ; 유닉스의 애플리케이션 프로그래밍 인터페이스(API) 규격.* 커널 ; OS의 기둥. 커널이 날아가면 운영체제를 못 쓰게 된다. 프로세스에 자원 배분 / 보안/ 추상화를..

Study/C,C++ 2016.12.20

0. GNU

GNU [그누] "GNU's Not UNIX" https://www.gnu.org/home.ko.html ; 그누 한글 홈페이지https://www.gnu.org/home.en.html ; 그누 영문 홈페이지 | 그누? GNU는 유닉스 형태의 운영체제다. 그리고 프리-소프트웨어 하다.( 여기서 말하는 프리 소프트웨어는 무료 운영체제가 아니라, 사용자가 원하는 대로 만들 수 있는 자유로운 소프트웨어를 말한다. Free software puts its users in control of their own computing. Non-free software puts its users under the power of the software's developer. 루팅하여 관리자 권한을 갖는것과 비슷한 개념인 ..

Study/C,C++ 2016.12.20

0. MingW

MinGW 밍! http://www.mingw.org/ ; MinGW 홈페이지. MinGW는 Minimalist GNU for Windows의 약자다. 3rd-part C-Runtime dll에 구애받지 않는, 윈도우 어플리케이션 개발을 위한 오픈소스 툴이다. MinGW 컴파일러들은 C 런타임과 몇몇 언어특화된 런타임에 접근할 수 있다. 하지만 POSIX런타임엔 접근 할 수 없다. 만약, POSIX에 접근하고 싶다면 시그윈을 사용하자. MinGW가 포함하는것: GCC(GNU 컴파일러 모음)GNU 바이너리 유틸리티 윈도우용command-line installer MSYS는 MinGW에 맞게 만들어진 커멘드라인이다. 터미널같은 것. -

Study/C,C++ 2016.12.20

0. MingW

MinGW는 마이크로소프트 윈도로 포팅한 GNU 소프트웨어 도구 모음이다. mingw32로도 알려져 있다. MinGW는 윈도 API를 구현할 수 있는 헤더 파일들을 가지고 있으며 이로써 개발자들이 "자유롭게 쓸 수 있는" 컴파일러인 GCC를 사용할 수 있다. 시그윈 포팅을 사용할 런타임 경우 컴파일한 프로그램 결과물이 유닉스 계통의 기능을 가상으로 구현하는 런타임에 의존하는 반면, MinGW의 경우 이러한 기능에 의존하지 않고 마이크로소프트 윈도 기반 프로그램들을 만들 수 있다. 이 MinGW 프로젝트는 두 개의 기본 꾸러미를 관리하고 배포한다. 첫째로는 포팅된 GCC 컴파일러들은 윈도 명령 줄에서, 아니면 IDE에 통합된 채로 쓸 수 있다. 아니면 둘째로는 MSYS(minimal system의 약자)를..

Study/C,C++ 2016.12.19