글과 사진, 그리고 이야기

IE & SWCON/Data Structure (C++)

[C++기초] Part 2. Complex Data

뱃놀이가자 2024. 1. 28. 15:48
728x90
#include <iostream>

using namespace std;

int main(){

	/*
    배열(array) : 같은 데이터 형의 집합
    typeName arrayName[arraySize];
    
    규칙
    1. 배열 원소에 대입할 값들을 콤마로 구분하여 중괄호로 묶어 선언한다
    2. 초기화를 선언 이후 나중에 할 수 없다
    3. 배열을 다른 배열에 통째로 대입할 수 없다
    4. 초기화값의 개수를 배열 원소의 개수보다 모자라게 제공할 수 있다
    5. 배열을 부분적으로 초기화하면 나머지 원소는 모두 0이 된다
    5-1. 즉 명시적으로 첫번째 원소를 0으로 초기화하면, 나머지는 모두 0으로 초기화 된다
    6. 배열을 초기화할때 대괄호 속을 비워두면 컴파일러가 초기화 값의 개수를 헤아려 배열 원소 개수를 저장한다
    */
    
    short month[12] = {1,2,3}; /배열 초기화
    
    return 0;
}
#include <iostream>

using namespace std;

int main(){

	/*
    사용자의 입력을 받을 때는 cin을 사용할 수 있음
    다만 명시적으로 cin은 whitespace를 인식하여 전체 길이의 문자를 확인할 수 없으므로
    cin.getline(name1, size)와 같이 변수와 최대 길이를 제한함으로서 실행할 수 있음
    getline과 get이 동일하게 작동하므로 get을 사용해도 괜찮음
    
    char에 비해서 string은 배열에서 다른 배열에 통째로 대입할 수 있다는 한계가 극복된 자료형
    배열의 사이즈도 굳이 명시할 필요가 없음
    */
    string str1;
    string str2= "panda";
    str1=str2;
    
    return 0;
}
#include <iostream>

using namespace std;

int main(){

	//구조체: 다른 데이터형이 허용되는 데이터의 집합
    //축구선수
    struct MyStruct
    {
    	string name;
        string position;
        float height;
        float weight;
    };
    
    MyStruct A;
    A.name="son";
    A.position='Striker";
    # 배열과 마찬가지로 모두 다 초기화, 대입하지 않아도 괜찮음
    
    MyStruct B ={
    	"Kim",
        "Defencder",
        195.8,
        85.0
    };
    
    MyStruct C[2] ={
    	{"Son", "WF", 183.5, 72},
        {"Lee", "MF", 175.8, 69.0}
    };
    # 배열안에 배열을 넣을 수도 있음
    # 접근시에는 멤버연산자 . 을 사용해서 변수에 접근할 수 있음
    # 구조체는 C++의 특장점이라고 할 수 있음
    
    return 0;
}
#include <iostream>

using namespace std;

int main(){

	# 공용체 : 한번에 한가지의 데이터형만 보관할 수 있음
    # 메모리 저장에 강력하게 사용함
    # 이전의 것을 소실함
    
    # 열거체(enum) : 기호 상수를 만드는 것에 대한 또다른 방법
    enum spectrum { red, orange, yellow, green, 
    blue, violet, indigo, ultraviolet} ;
    
    /*
    열거체에는 사용된 열거자들을 기호 상수로서 , 따라서 red를 출력하면 0이 나옴
    선언시에는 미리 명시한 열거자만을 사용할 수 있으며 각각의 사칙연산은 불가하지만 개별로는 가능
    개별로 사용할 때는 int의 자료형으로 생각함
    열거자들을 초기화할때는 반드시 정수여야만 하고 명시적으로 red=5이렇게 초기화도 가능함 ,
    초기화하지 않은 열거자들은 이전의 초기화된 열거자 +1 의 값을 가짐
    */
   
    spectrum a=orange;
    cout<<a<<endl;
    
    int b=blue;
    b=blue+4;
    
    # 7을 출력함
    
    return 0;
}
728x90

'IE & SWCON > Data Structure (C++)' 카테고리의 다른 글

array class  (1) 2024.02.07
연속된 자료 구조와 연결된 자료구조  (1) 2024.02.07
[C++ 기초] part 3. Loop  (0) 2024.01.31
[C++기초] part 1. Dealing with Data  (1) 2024.01.28
[C++기초] Part 0. Hello World  (0) 2024.01.28