지수 표기

  +5.37E+16

 

0.000E+N 형식은 소수점을 오른쪽으로 N자리만큼 이동하는 것이고

0.000E-N은 소수점을 왼쪽으로 N자리만큼 이동하는 것이다.

 

 

 → enum

                 ┌>     열거형의 변수 선언할 때 사용됨.  

  enum  spectrum  { red, orange, yellow, green, blue };

                             ------------------------------

                                                  └> 열거자들

 

Ex)  spectrum  band;

       └> spectrum형 열거형 변수는 이미 선언된 값만 대입 가능하다.

             선언 후 값을 대입하지 않으면 Error를 발생한다.

       band = yellow;    // true

       band = 100;        // false   (열거자가 아니므로 실패)

 

→ 열거자가 아닌 값을 대입하고 싶다면?

       band = spectrum(100);

 

 

 → new 메모리 할당

 [typename] * [pointer_name] = new [typename];

 

Ex)  int  *pn = new  int;

                    --------

                         └> int형 데이터를 저장할 새로운 메모리가 필요하다고 프로그램에 알린다.(heap memory)

 

* 컴퓨터의 메모리가 부족하여 new의 메모리 할당 요청을 허용할 수 없는 경우 new는 0값을 리턴한다.

                                                                                                          ----------

                                                                                                        NULL pointer

 

        delete pn;    //메모리 해제 (해제하지 않으면 메모리 누수 발생)

 

* new를 사용하여 메모리를 할당 후 메모리 해제가 필요한 경우 delete를 사용한다.

  메모리 해제가 필요한 경우는 사용할 데이터가 필요가 없는 경우일 뿐이다.

 

 

  정적 바인딩 (static binding)

     사용이 되든 안되는 항상 메모리를 차지하는 방식 (Ex : 배열)

 

 → 동적 바인딩 (dynamic binding)

     new를 사용하면 배열을 실행 시간에 생성할 수 있고 필요 없으면 생성하지 않을 수 있다.

     또는 프로그래미을 실행하는 동안에 배열의 크기를 결정할 수 있다.

 

 int  *psome = new  int[10];        // new를 사용한 동적 배열 생성 예제

 delete[] psome;  //동적 배열 해제.

 

 

+ Recent posts