회원 로그인
정보기억 정보기억에 체크할 경우 다음접속시 아이디와 패스워드를 입력하지 않으셔도 됩니다.
그러나, 개인PC가 아닐 경우 타인이 로그인할 수 있습니다.
PC를 여러사람이 사용하는 공공장소에서는 체크하지 마세요.
소셜네트워크 서비스를 통해서 로그인하시면 별도의 로그인 절차없이 회원서비스를 이용하실 수 있습니다.


최근 게시물

1.노션에서 작성 중

1.노션에서 작성 중

개편하기 전까지 노션에서 작성 중

2024.04.04//read more

2.ChatGPT

2.ChatGPT

OpenAI로 대규모 언어 모델대화형...

2023.03.16//read more

3.노코딩 게임 엔진 - 빌..

3.노코딩 게임 엔진 - 빌..

빌드 지원안드로이드iOS윈도우즈특이사...

2023.03.14//read more

4.(완료) 미접속 회원 정..

4.(완료) 미접속 회원 정..

[완료] 36명의 회원을 정리하였습니...

2023.02.16//read more

5.매뉴얼 플러스 - 전자제..



안정적인 DNS 서비스 DNSEver
DNS Powered by DNSEver.com


배열

푸딩뱃살 | 2015.11.03 09:58 | 조회 2002
C++ 배열

[배열]
- 동일한 타입의 데이타를 저장할 수 있는 변수로 저장된 데이타는 인덱스로 접근하게 됨

[1차원 배열 문법]
1. 생성
  자료형 배열명[데이타갯수];

[1차원 배열의 초기화]
1. 생성과 함께 초기화
  자료형 배열명[4] = {데이타1, 데이타2, 데이타3, 데이타4};
  자료형 배열명[] = {데이타1, 데이타2, 데이타3, 데이타4};

2. 생성 후 초기화
  자료형 배열명[4];
  배열명[0] = 데이타1; 배열명[1] = 데이타2; 배열명[3] = 데이타3;

[특이 사항]
1. 배열의 이름은 배열의 첫번째 요소의 주소 상수임
  배열명 == &배열명[0] == 배열명 + 0 == &배열명[0] + 1
  배열명[0] == *(배열명 + 0) == *(&배열명[0])
2. 포인터 변수에 더하기 연산을 수행할 경우 포인터 변수에 저장된 주소에 저장된 데이타 자료형 만큼 뒤의 주소를 반환함

[주의 사항]
1. 배열 갯수를 정한 상태에서 초기화 데이타 갯수가 많거나 적으면 오류가 발생함
  예) int array[5] = {1, 2, 3} <- 데이타 갯수가 부족함
  예) int array[3] = {1, 2, 3, 4, 5} <- 데이타 갯수가 넘쳐남
2. 배열의 갯수를 정하지 않은 상태에서 초기화 데이타가 없으면 오류가 발생함
  예) int array[] = {} <- 갯수를 파악할 수 없음

#include <iostream>
#include <stdlib.h>     /* srand, rand */
#include <time.h>       /* time */
#include <string>

using namespace std;

void main(){
    /*
    // 변수 선언
    int val1;
    int val2;
    int val3;
    int val4;
    int val5;

    // 입력
    cout << "val1 : "; cin >> val1;
    cout << "val2 : "; cin >> val2;
    cout << "val3 : "; cin >> val3;
    cout << "val4 : "; cin >> val4;
    cout << "val5 : "; cin >> val5;
    // 출력
    cout << "val1 : " << val1 << endl;
    cout << "val2 : " << val2 << endl;
    cout << "val3 : " << val3 << endl;
    cout << "val4 : " << val4 << endl;
    cout << "val5 : " << val5 << endl;
    */

    // 배열 선언
    int vals[5];

    // 입력
    for (int i = 0; i < 5; i++){
        cout << "val[" << i << "] : "; cin >> vals[i];
    }
    // 출력
    for (int i = 0; i < 5; i++){
        cout << "val[" << i << "] : " << vals[i] << endl;
    }
}

// 배열 예제
#include <iostream>
#include <stdlib.h>     /* srand, rand */
#include <time.h>       /* time */
#include <string>
#include <array>

using namespace std;

void main(){

    // 배열 생성
    // 자료형 배열명[갯수];

    int arr[5];

    int index = 0;

    // 배열의 값 변환
    arr[index] = 5;
    arr[1] = 10;
    arr[2] = 15;
    arr[index + 3] = 20;
    arr[4] = 30;

    // 출력
    cout << "arr[index] : " << arr[index] << endl;
    cout << "arr[1] : " << arr[1] << endl;
}

객체별(class의 반복)
객체를 가진 몬스터가 많을 경우 배열 사용

3 몬스터의 이름, 속도, 체력, 공격력을 입력 받아 출력
#include <iostream>
#include <stdlib.h>     /* srand, rand */
#include <time.h>       /* time */
#include <string>
#include <array>  // 배열

using namespace std;



// 배열 예제
class Monster {
public:
    string name;
    int speed;
    int hp;
    int damage;

    void printInfor(int index){
        cout << "몬스터[" << index << "] 번째 이름 출력: " << name << endl;
        cout << "몬스터[" << index << "] 번째 속도 출력: " << speed << endl;
        cout << "몬스터[" << index << "] 번째 체력 출력: " << hp << endl;
        cout << "몬스터[" << index << "] 번째 공격력 출력: " << damage << endl;
    }

};

// 상수 사용
#define arrayCount 5

void main(){

    // 상수 값으로 배열 공간 확보
    Monster monster[arrayCount];

    int i = 0;

    // 입력
    while (i < arrayCount) {
        cout << "몬스터[" << i << "] 번째 이름 입력 : "; cin >> monster[i].name;
        cout << "몬스터[" << i << "] 번째 속도 입력 : "; cin >> monster[i].speed;
        cout << "몬스터[" << i << "] 번째 체력 입력 : "; cin >> monster[i].hp;
        cout << "몬스터[" << i << "] 번째 공격력 입력 : "; cin >> monster[i].damage;
        i++;
    }
    cout << endl;

    // 출력
    for (int i = 0; i < arrayCount; i++) {
        monster[i].printInfor(i);
    }
}
285개(8/15페이지)
프로그래밍
번호 제목 글쓴이 조회 날짜
>> [C/C++] 배열 푸딩뱃살 2003 2015.11.03 09:58
144 [C/C++] 클래스 푸딩뱃살 2375 2015.11.03 09:58
143 [C/C++] 함수 사용 팁 푸딩뱃살 1956 2015.11.03 09:54
142 [C/C++] 가위바위보 게임 3 (함수 사용) 푸딩뱃살 3166 2015.11.02 13:45
141 [C/C++] 함수 푸딩뱃살 1801 2015.11.02 13:44
140 [C/C++] 2차원(2중) for문 푸딩뱃살 1956 2015.10.30 17:59
139 [C/C++] 상수 푸딩뱃살 1401 2015.10.30 17:58
138 [C/C++] 가위바위보 게임 2 푸딩뱃살 1642 2015.10.30 17:32
137 [C/C++] continue문 푸딩뱃살 1531 2015.10.30 16:01
136 [C/C++] break문 푸딩뱃살 1665 2015.10.30 15:43
135 [C/C++] 반복문 while와 for 비교 푸딩뱃살 2486 2015.10.30 15:42
134 [C/C++] 반복문 for 푸딩뱃살 1820 2015.10.30 14:16
133 [C/C++] 반복문 while 푸딩뱃살 2253 2015.10.30 14:13
132 [C/C++] 반복문 하기 전 스크립트 푸딩뱃살 1970 2015.10.30 14:10
131 [C/C++] 조건문 switch 푸딩뱃살 2069 2015.10.30 10:56
130 [C/C++] 가위바위보 게임 푸딩뱃살 1742 2015.10.29 17:30
129 [C/C++] 조건문 if ~ else 푸딩뱃살 1966 2015.10.29 15:08
128 [C/C++] 형 변환 푸딩뱃살 1648 2015.10.29 12:02
127 [C/C++] 대입 연산자 푸딩뱃살 1561 2015.10.29 12:00
126 [C/C++] 증가감 연산자 푸딩뱃살 1572 2015.10.29 11:57