목록Programing/C++ (21)
Steady Blog
*동적할당 메모리 영역 저장되는 데이터 Stack 함수나 블록 내에서만 메모리 할당 (지역변수, 매개변수) heap 프로그래머 할당/해제 data 프로그램 실행~종료 될때까지 메모리 할당 (전역변수,정적 변수(Static 변수)) code 프로그램,함수 (멤버 함수) #변수 1. 일반변수 2. 배열 3. 포인터 4. 구조체 5. class -동적할당에서 포인터 변수를 만들수 없다 그러나, 포인터변수를 이용해서 나머지는 변수로 만들수 있음. 정적 할당 - 컴파일 할때 크기가 결정되는것. 동적 할당 - 프로그램 도중에 크기가 결정되는 것. *일반 변수 만드는 방법 1. int *pa 2. pa = (int *)malloc(sizeof(int)); *pa = 5; cout멤버변수 = 값; (pa+2) ->멤버..
* Class - 클레스의 특징 1. 캡슐화 + 은닉성 2. 상속성 3. 다형성 - 클래스의 구성 = > 구조체(Data + 함수) + 보안 = > 멤버 변수 + 멤버 함수 + 보안 = > 멤버 변수 + 멤버 함수 + 접근 지정자 // 보안 = 접근 지정자 - 클래스의 접급지정자 1. private : 클래스 내부에서만 접근 가능 2. protected : 클래스 내부와 상속받은 클래스 내부에서 접근 가능 3. public: 클래스 내부와 외부에서 접근 가능 - 만드는 법 class AAA { private: [멤버변수] public: [생성자] => 멤버변수 초기화 [소멸자] => 동적할당 해제 [set 함수] => 멤버변수 값 대입 [get 함수] => 멤버변수 호출 [operator 함수] =>연산..
*구조체 자료형이 다른 변수들의 모임 # 배열과의 차이점 => 배열은 같은 자료형의 모임. 구조체는 다른 자료형까지 모일수 있음. 1) C++에서 만드는 법 Struct AAA // 구조체 명 { int a; 해설 : 맴버변수 a,c,d,e,f 를 만듬 char c; double d; int e[3]; cjar f[3]; }; 2) 사용하는 법 void main() { Struct AAA aa, *pa; Struct AAA 자료형 aa.a = 1; 해설 : 닷( . )은 직접접근 연산자 aa.c = 'A'; aa.d = 5.5; aa.e[0] = 5; aa.e[1] = 6; aa.e[2] = 7; strcpy(aa.f,"AB"); pa = &aa; pa->a = 1;; 해설 : 화살표( -> )는 간접 ..
*연산자와 &연산자 ------------------------------------------------------ 연산자 용도 형식 사용예 곱하기 변수 또는 상수 3*5; * 포인터 데이터형 *변수명 int *ip; 주소를 저장하는 변수 double*dp; 간접접근 *포인터명 *ip; 포인터가 가리키는 값 *dp; ------------------------------------------------------ & 주소 &변수명 &a; 변수의 주소 &b; 레퍼런스 데이터형 &변수명 int &a; 메모리의 또다른 이름 ------------------------------------------------------ int a; //일반 변수 int *p; // 포인터 변수 int &r; //레퍼런스 변..
* 레퍼런스 C언어는 변수에 한개 의 이름만 부여 가능하나, C++에서는 변수에 여러개의 이름을 부여할 수 있다. 1. 래퍼런스는 선언시 &연산자를 쓴다 2. 선언과 동시에 초기화 되어야 한다 3. 상수는 레퍼런스에 대입할 수 없다. *레퍼런스 변수 = 레퍼런스 한마디로 변수의 별명을 붙이는 것. #레퍼런스는 일반 변수에만 별명을 붙일수 있으며 사용 목적으로는 호출된 함수에서 호출한 함수의 변수 값을 바꾸려고 하기 위해서다. ex) void ch3_04() { int a=3; int &r=a; //레퍼런스 변수 선언 및 초기화 ++a; ++r; cout
*변수의 초기화 1. int a = 3; 2. int a ; a = 3; 3. int a(3); //c++ 스타일의 초기화 4. int a; //이런식은 안됨. 왜냐면 함수 호출로 보이기 때문에. a(3); ex) void ch3_03() { int val1(20); int val2=40; cout
* Bool 자료형 1. 0 or 1만 저장 2. false/ true 값 사용 (false = 0, true = 1) 3. '0' 이 아닌 모든 정수는 '1로' 저장 4. 1 byte 크기 자료형 ex) 1번, 2번, 4번 의 내용을 설명하기 위한 예제 bool Ispositive(int i) { if(i