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
'개발 > c++' 카테고리의 다른 글
[c++] 추상화와 클래스 / 클래스 생성자와 디폴트 생성자 / 클래스 파괴자 (1) | 2023.09.08 |
---|---|
[c++] 분할 컴파일 / Preprocessor & Compiler & Linker (2) | 2023.09.08 |
[c++] 함수 템플릿 (0) | 2023.09.07 |
[c++] 함수 오버로딩 (0) | 2023.09.05 |
[c++] 문자열과 포인터 (0) | 2023.09.05 |