programTips.Tutorial 48

C++

C++ = C with class C = 구조적 프로그래밍 방식 C++ = 객체지향적인 방식 C++은 함수의 중간에서도 변수를 선언할 수 있음. 언제든지 변수 추가선언 가능. 내용 위치 간단한설명 범위연산자 7-3-가 지역변수에의해가려진전역변수를참조한다. 명시적캐스팅 5-3-라 (int)var형식이아닌 int(var) 형식으로 캐스팅한다. 인라인함수 16-3 본체가호출부에삽입되는 함수 디폴트인수 16-4 실인수가생략될때형식인수에 적용되는기본값 함수오버로딩 16-5 같은이름의함수를여러 개정의하는 기능 태그가타입으로승격됨 13-1-나 구조체태그로부터변수를바로선언할수있다. 이름없는공용체 13-5-나 공용체이름없이멤버들이기억장소를공유한다. 한줄주석 2-4-가 // 로줄끝까지 주석을단다. 레퍼런스 15-4 변수에..

객체지향프로그래밍 OOP(Object Oriented Programming)

OOP(Object Oriented Programming). 객체지향프로그래밍 객체 지향적 프로그래밍(Object Oriented Programming)방식의 기본철학 매번 비슷 비슷한 코드들 대충 만들어 쓰지 말고 조금 어렵고 힘들더라고 닥 한 번만 고생해서 제대로 만들어 놓고 다음부터는 재활용만 하자. 객체지향 = 특정언어의 기능이 아님. 언어나 개발툴의 기능이 아님. 프로그래머가 문제를 푸는 사고 방식. 객체 지향적 프로그래밍(Object Oriented Programming)방식 1. 문제의 핵심인 데이터를 정의하고 2. 데이터에 절차를 결합하여 3. 현실의 사물을 표현할 수 있는 객체를 만든다. 4. 그리고 이런 독립적인 객체를 조립하여 프로그램을 완성해 나간다. 묶음. 숨김. 개념. 재사용. ..

[C] 함수

함수의 이해.x에 삽입되는 값을 '입력'이라 하고, 그 결과로 얻게 되는 y의 값을 '출력'이라 한다.그리고 적절한 입력과 그에 따른 출력이 존재하는 것을 가리켜 '함수(function)'라 한다. 함수의 정의: 만들어진 함수, 실행이 가능한 함수를 일컫음.함수의 호출: 함수의 실행을 명령하는 행위.인자의 전달: 함수의 실행을 명령할 때 전달하는 입력의 값. return 0; // return문. 1. 함수를 호출한 영역으로 값을 전달(반환)2. 현재 실행중인 함수의 종류의 뜻을 가짐.

[C] 배열(Array)

배열(Array)= 동일한 타입을 가지는 자료들의 집합. 타입 배열명[크기][크기]...; 타입: 배열이 어떤 값들의 집한인가.int형인가. 유도형인가. 사용자가 만든 타입인가..배열명: 배열도 변수. 이름이 있어야함.크기: 요소의 개수가 몇개인가를 [ ] 안에 정수 상수로 지정. 크기 지정이 하나면 1차원 배열. 두 개 이상이면 다차원배열. 할당된 배열에서 요소를 참조할 때는 [ ]와 첨자(Index)를 사용첨자(Index)= 요소가 그 배열의 몇 번째에 있는지를 나타내는 순서값. 배열의 특징.1. 배열 요소의 번호인 첨자는 항상 0부터 시작(Zero Base).2. 배열이 차지하는 총 메모리양 = 배열의 크기 x 배열 요소의 크기, 즉, sizeof(타입) x 크기.3. 배열을 선언할 때, 크기값은 ..

[C] 동적메모리할당.

10-3.동적 메모리 할당 Static Allocation(정적할당).프로그램을 작성할 때 미리 메모리 필요량을 지정. Dynamic Alocation(동적할당).실행 중에(Run Time) 필요한만큼 메모리를 할당.필요할 때 필요한만큼만 메모리를 할당에 사용하고, 다 쓰면 버리는 것. 사용시기.1. 메모리 필요량을 프로그램 작성중에 결정할 수 없을 때.2. 임시적인 메모리가 필요할 때. 동적 할당된 메모리 => 이름이 없는 변수.독점적인 메모리 영역을 차지하고 있으므로 값을 기억할 수 있느나 이름이 없으므로 포인터로만 접근 가능. 메모리 실체 = 시스템에 장착되어 있는 RAM. RAM = 프로그램이 작업을 하는 작업공간. 크면 성능up, 작으면 성능down. 메모리 관리원칙.1. 메모리의 관리주체 = ..

[C] void형 포인터

10-2.void형 포인터 포인터형 변수는 선언할 때 반드시 대상체의 타입을 밝혀야한다. but, void형 포인터 = 대상체의 타입을 명시하지 않음 = 대상체가 정해져 있지 않음.void형은 함수와 포인터 변수에게만 적용되는 타입. 일반변수에는 사용불가.1. 임의의 대상체를 가리킬 수 있음(=대상체가 정해져 있지 않음). 즉, 임의의 대상체에 대한 포인터형. 대상체가 정수든, 실수든 가리지 않고 메모리위치를 기억할 수 있음. 임의의 포인터를 대입받을 수 있지만, 임의의 포인터에 void형 포인터를 대입할 때는 반드시 캐스팅을 해야함.2. * 연산자 사용불가.3. 증감연산자 사용불가. void형 포인터대상체가 정해져 있지 않으므로 임의의 번지를 저장할 수 있지만, * 연산자로 값을 읽거나 증감연산자로 이..

[C] 포인터

3-7-다.포인터.포인터를 직접 다룰 수 있기 때문에 C언어를 고급언어가 아닌 중급언어로 분류.어셈블리와 같은 수준의 시스템 프로그래밍까지도 가능. 일반적 변수 = 수치.값을 저장. 포인터형(포인터형변수) = 번지(Address)를 기억. 포인터형은데이터가 보관되어 있는 메모리 위치를 기억하고 있기 때문에 직접 값을 조작할 수도 있고 주변의 다른 값까지도 조작가능. 위치는 단순히 4바이트의 번지이기 때문에 함수의 인수로 전달하거나 받기도 효율적. 함수로 포인터를 전달하면 포인터가 가리키는 메모리를 함수가 직접 조작 가능. 타입 *변수명; //포인터선언 * : 포인터가 가리키는 번지의 값을 읽음.& : 변수가 기억되어 있는 메모리 번지를 읽음. 10-1-가.T형 포인터포인터 = 메모리의 한 지점을 가지는 ..