cpp3

2023. 10. 21. 17:56개발하는중/cpp

728x90
반응형

흐름제어 구문

기본적인 흐름 제어 구조

순차 구조 = 문장이 나열된 순서에 따라 차례로 실행하는 구조

조건제어 구조 

지정된 조건에 따라 실행 흐름을 제어하는 구조 ex) if, switch

반복제어 구조

정해진 범위의 문장을 반복적으로 실행 하는 구조 ex) for, while, do while

 

구조체와 클래스

구초제란 ? 여러 가지 자료형의 데이터 집합을 저장할 수 있는 새로운 자료형을 정의한 것

ex) struct StructName {

    type1 item1;

    type2 item2;

    .....

}

 

구조체 데이터를 처리하는 함수

C 언어에서는 구조체와는 별개로 함수로 정의

 

클래스란?

표현라고자 하는 대상(객체)의 데이터 (속성)와 함께 그 대상이 할 수 있는 동작을 나타내는 함수(행위)들을 묶어서 선언 한 것

 

배열?

동일한 자료형의 값을 여러 개 저장할 수 있는 연속적으로 할당된 공간을 묶어 하나의 이름을 갖는 변수로 만든 것

각각의 원소는 0번부터 시작 하여 차례로 부여된 번호(첨자 인덱스)를 이요하여 액세스 함

배열의 차원 : 배열릐 첨자 개수

 

포인터와 동적메모리 할당

포인터란?

어떠한 대상이 위치한 곳을 가리키는(주소를 저장하는) 변수

가리키는 대상 = 포인터에 지정된 자료형에 해당하는 변수, 동적으로 할당된 메모리, 함수 등

형식

TypeName* name;

 

포인터의 사용 = 포인터가 유효한 대상을 가리키게 한 후 사용해야 함

 

동적메모리 할당이란 ?

프로그램 동작 중에 기억공간의 필요성 및 소요량을 결정하여 필요한 공간을 할당 하는 것

기억공간의 생성 시점 : new 연산자의 실행 시점

기억공간의 소멸 시점 : delete 연산자의 실행 시점

 

포인터 변수가 할당된 기억 공간을 가리키게 함

 

참조

참조(reference)란 ?

어떠한 대상을 가리키는 값(포인터와 유사함)

참조 변수는 참조 대상의 별명처럼 사용할 수 있음

l-value 참조 실체가 있는 대상(l-value)에 대한 참조

 

l-value 참조 변수의 선언 형식

typeName& refVar = varName;

typeName=참조 대상의 자료형

refVar=참조 변수의 이름

varName=참조대상

 

const참조 = 참조 변수가 참조하는 대상의 값을 바꿀수 없게 함(읽기 전용)

 

l-value참조

참조가 포인터와 다른 점

참조 변수를 이용하여 값을 읽거나 저장할 떄 참조 대상 변수를 사용하는 형식과 동일함

참조 변수는 초기화를 통해 반드시 어떤 대상을 참조해야 함

   초기화 되지 않은 상태로 인해 무엇을 참조하고 있는지 알 수 없는 상황은 발생 하지 않음

참조 변수는 초기화를 통해 지정된 참조 대상을 바꿀 수 없어 참조의 유효기간 동안 하나의 대상만 참조할 수 있음

 

r-value참조?

사용한 후에는 그 값을 더 이상 가지고 있을 필요가 없는 대상을 참조

용도 => 객체의 값을 다른 객체로 이동

 

주요용어
  1. 구조체
    여러 가지 자료형의 데이터 집합을 저장할 수 있는 새로운 자료형을 정의한 것
  2. 클래스(class)
    객체지향 프로그래밍에서 표현하고자 하는 대상(객체)의 데이터(속성)와 함께 그 대상이 할 수 있는 동작을 나타내는 함수(행위)들을 묶어서 선언한 것
  3. 배열(array)
    동일한 자료형의 값을 여러 개 저장할 수 있는 연속적으로 할당된 공간을 묶어 하나의 이름을 갖는 변수로 만든 것
  4. 포인터(pointer)
    어떠한 대상이 위치한 곳을 가리키는(주소를 저장하는) 변수
  5. 동적 메모리 할당
    프로그램 동작 중에 기억공간의 필요성 및 소요량을 결정하여 필요한 공간을 할당하는 것
  6. 참조(reference)
    프로그램에서 어떤 데이터를 간접적으로 액세스할 수 있도록 그 데이터를 가리키는 값(주소)
정리하기
  1. if문 및 switch문을 이용하여 조건제어 구조를 만들 수 있으며, for, while, do while문을 이용하여 반복제어 구조를 작성할 수 있다.
  2. 클래스를 이용하여 표현 대상이 어떤 일을 할 수 있는가(행위)와 이를 위해 어떤 데이터를 저장하는가(속성)를 선언한다.
  3. 배열을 이용하여 동일한 자료형의 값을 여러 개 연속적 저장공간에 저장하고 첨자를 지정하여 개별 원소를 액세스할 수 있는 변수를 만들 수 있다.
  4. 포인터를 이용하여 값이 저장되어 있는 곳이나 함수를 가리키게 하여 간접적으로 액세스할 수 있다.
  5. new 연산자를 이용하여 메모리를 동적으로 할당하여 사용할 수 있으며, delete 연산자를 이용하여 사용이 끝난 메모리를 반납할 수 있다.
  6. 참조형 변수를 이용하여 어떠한 대상을 참조할 수 있으며, 초기화에 의해 지정된 참조 대상을 교체할 수 없다.
728x90

'개발하는중 > cpp' 카테고리의 다른 글

cpp6  (0) 2023.11.04
cpp5  (0) 2023.11.04
cpp4  (1) 2023.11.02
cpp2  (0) 2023.09.25
cpp  (0) 2023.09.25