728x90

0. 배열 & 문자열 위주로 정리

0-1. 배열(array) : 같은 데이터형의 집합

1) typeName arrayName[arraySize]

2) 배열을 다른 배열에 통째로 대입할 수 없음

short month[5] = { ... };
short year[12] = { ... };
year = month; 불가능함


3) 초기화 값의 개수를 배열 원소의 개수보다 모자라게 제공할 수 있음
- 배열을 부분적으로 초기화하면 나머지 원소는 모두 0으로 설정
- 명시적으로 첫 번째 원소만 0으로 초기화하면, 나머지 원소들은 모두 0으로 초기화됨
4) 배열 사이즈를 명시하지 않으면 초기화 시의 원소 개수로 배정됨

5) c++에서, 배열 이름을 그 배열의 첫번째 원소의 주소로 인식
arr == &arr[0]

6) 배열에 인덱스를 사용하면, 배열의 주소가 아닌, 인덱스에 해당하는 각 원소 값에 직접 접근할 수 있음

#include <iostream>
using namespace std;

const int a = 5;
int solution[a];

int main(){
    solution[0] = 1;

    for(int i=1; i<a; i++)
        solution[i] = 2*solution[i-1]+1;

    cout << solution << endl; //0x102d68000, 첫 번째 원소의 주소
    
    for(int idx=0; idx<a; idx++) {
        cout << solution[idx];
        if(idx!=a-1)
            cout <<", ";}} //1, 3, 7, 15, 31

 

0-2.  문자열을 변수에 입력하는 방법 (1) char[  ]   (2) string

1) char [] : 얘는 말 그대로 문자들이 모인 array

→ c++에서 array의 속성을 따르면 됨

char char1[20]; //선언만
char char2[20] = "jauar"; //선언과 초기화를 동시에

char1 = char2; //error, 값이 들어가지 않음

2) string

- 배열 표기를 사용하여 string객체에 저장된 개별 문자에 접근 가능
char[ ] 문자열과 속성이 비슷한데,
 string을 통해서는 배열을 다른 배열에 통째로 대입할 수 있음 
 배열 크기를 미리 지정하지 않아도 됨

string str1;
string str2 = "panda";

str1 = str2; //제대로 대입 됨

 

728x90

+ Recent posts