array 4

c++ 배열 정리

목록 1. 선언과 초기화 선언 초기화 2. 배열에 접근 및 값 변경 배열 이름의 뜻 포인터 이용 참조 이용 인덱스 이용 주의할 점 3. 배열과 포인터 4. 배열을 인자로 넘길 때 5. 다차원 배열 선언과 초기화 1. 선언 TYPE 이름[const 개수]; visual stdio 컴파일러는 배열의 크기를 상수로 받도록 한다. 2. 초기화 int number[5] = {};// 1 int number[10] = { 1,2,3 };// 2 int number[] = { 1,2,3,4,5 };// 3 모든 원소를 0으로 초기화 3번 째 원소까지 1, 2, 3으로 초기화하고 나머지는 0으로 초기화 데이터 개수만큼 크기를 설정 배열에 접근 및 값 변경 배열 이름의 뜻 struct Knight { hp = 100; ..

cpp 다차원 배열

다차원 배열 int apartment2D[2][5] = { { 1, 2, 3, 4, 5 }, { 1, 2, 3, 4, 5 } }; 다차원 배열을 쉽게 생각하면, 아파트 1층 101호, 2층 204호처럼 층과 호로 이뤄진 배열이라고 보면 된다. 현재 아파트는 2층이며 각 층마다 5개의 호실이 존재한다. 이때 어셈블리 관점에서 보면 1층부터 2층까지 모든 호실은 서로 연속적으로 이어져 있다는게 중요하다. // apartment2D[ 0~1 ][ 0~4 ] for (int floor = 0; floor < 2; floor++) { for (int room = 0; room < 5; room++) { int num = apartment2D[floor][room]; cout

cpp 포인터와 배열

포인터 const char* test1 = "Hello World"; 포인터는 주소를 담는 '바구니'이며, 상수이므로 수정할 수 없다. test1[시작 주소]는 8 byte 크기를 가진다. test1이 가리키는 주소로 가면 [H][e][l][l][o][][W][o][r][l][d][\0]을 볼 수 있다. 배열 char test2[] = "Hello World"; 배열 이름은 배열의 시작 주소를 가리킨다. 하지만 포인터처럼 바구니를 만들지 않는다. 따라서 포인터처럼 정해진 크기를 가지지 않으며, 현재 test2가 가리키는 주소의 배열은 12 byte 크기를 가지고 있다. 또한 언제든지 각 index에 위치한 데이터를 수정할 수 있다. 배열을 함수의 인자로 넘기기 void Test(char a[]) { a[..

cpp 배열

배열 초기화 int numbers[5] = {};// 기본값인 0으로 초기화 int numbers1[10] = { 1, 2, 3, 4, 5 };// 설정한 값들을 제외한 나머지는 0으로 초기화 int numbers2[] = { 1, 2, 3, 11, 45, 32, 35 };// 데이터 개수만큼 배열의 크기를 정해준다. 배열의 초기화 방법은 다양하다. 알아두자. struct StatInfo { int hp = 0xAAAAAAAA; int attack = 0xBBBBBBBB; int defence = 0xDDDDDDDD; }; const int monsterCount = 10; StatInfo monsters[monsterCount];// StatInfo[12byte]가 10개 VS 컴파일러를 기준으로 배열..