프로그래밍2 및 실습 C언어 기반의 C++ 2
C언의 복습 ㆍ키워드 const Const int num = 10; Const int *ptr1 = &val1; int * const ptr2 = &val2; Const int * const ptr3 = &val3;
C언의 복습 ㆍ메모리 공간 - 데이터 : 전역변수가 저장되는 영역 - 스택 : 지역변수 및 매개변수가 저장되는 영역 - 힙 : malloc 함수 호출에 의해 프로그램이 실행되는 과정에서 동적으로 할당이 이루어지는 영역 - malloc & free : malloc 함수호출에 의해 할당된 메모리 공간은 free 함수호출을 통해서 소멸 시킨다.
자료형 bool ㆍ최근에는 C의 표준에서 bool을 기본 자료형으로 추가 ㆍ참을 의미하는 ‘true’, 거짓을 의미하는 ‘false’
자료형 bool ㆍbool은 int, double 등 과 같이 기본 자료형으로 선언이 가능
bool 실습 ㆍsizeof 를 이용하여 1과 0, bool자료형의 true 와 false의 크기를 확인하라
참조자(Reference) ㆍ자신이 참조하는 변수를 대신할 수 있는 또 하나의 이름 ㆍ& 이미 선언된 변수의 앞에 오면 주소 값의 반환을 명령 새로 서언되는 변수의 이름 앞에 등장하면, 참조자 선언
참조자(Reference) 선언 ㆍ참조자는 변수에 대해서만 선언 가능, 선언과 동시에 누군가를 참조해야 한다. 즉, 선언은 유효하지 않음 int &ref = 20; (x) int &ref; (x) int &ref = NULL; (x)
Call-by-value & Call-by-reference
참조자를 이용한 Call-by-reference 호출 할 수 있다. ㆍ함수 호출문장만 보고 함수의 특성 파악 힘듦
반환형이 참조형인 경우 ㆍ함수의 반환형에도 참조형이 선언 가능하다. int num1 = 1; int &ref = num1; int &num2 = ref;
반환형이 참조형인 경우
new&delete ㆍmalloc : void형 포인트이기 때문에 형 변환, 할당할 대상의 정보를 바이트 크기로 전달 char * str = (char*)malloc(sizeof(char)*len); free(str);
new&delete char * str = (char*)malloc(sizeof(char)*len); int * ptr1 = new int; int * arr1 = new int[3]; free(str); delete ptr1; delete []arr1;
new&delete 실습 ㆍnew와 delete를 사용하여 이름을 입력받고 출력
new&delete ㆍ이제 malloc과 free가 아닌 new와 delete 사용
C++에서 C언어의 표준함수 호출 ㆍc를 더하고 .h를 빼라 #include <stdio.h> -->> #include <cstdio> #include <stdlib.h> -->> #include <cstdlib> #include <math.h> -->> #include <cmath> #include <string.h> -->> #include <cstring>
C++에서 C언어의 표준함수 호출 ㆍC++표준라이브러리 함수와 C표준라이브러리 함수 차이 C에서는 int abs(int num); C++에서는 오버로딩 long abs(long num); float abs(float abs); double abs(double abs);
C++에서 C언어의 표준함수 호출 실습 ㆍC++표준라이브러리 함수를 이용하여 sqrt() 출력