본문 바로가기

배열4

다차원 배열(16-2) 3차원 배열 큐빅퍼즐은 3차원의 구조 가로, 세로, 높이가 있음 3차원 배열은 중심부의 블록이 채워진 형태의 큐빅퍼즐에 비유할 수 있음 3차원 배열 : 가로와 세로로 이뤄진 2차원 배열 + 높이의 개념 int arr1[2][3][4]; // 높이 2, 세로 3, 가로 4인 int형 3차원 배열 double arr2[5][5][5]; // 높이 5, 세로 5, 가로 5인 double형 3차원 배열 배열의 크기 확인 #include int main(void) { int arr1[2][3][4]; double arr2[5][5][5]; printf("높이2, 세로3, 가로4 int형 배열 : %d\n", sizeof(arr1)); printf("높이5, 세로5, 가로5 double형 배열 : %d\n", sizeof(ar.. 2020. 12. 9.
다차원 배열(16-1) 다차원 배열의 이해와 활용 다차원 배열 : 2차원 이상의 배열 2차원, 3차원 배열? OK! 4차원, 5차원 배열? NO! 2차원 배열 : 평면 구조 3차원 배열 : 직육면체 구조 4차원, 5차원 : .... 1차원 배열 길이가 10인 1차원 int형 배열 int arronedim[10]; 2차원 배열 가로, 세로의 길이가 5인 2차원 int형 배열 int arrtwodim[5][5]; 3차원 배열 가로, 세로, 높이의 길이가 3인 3차원 int형 배열 int arrthreedim[3][3][3]; 다차원 배열을 대표하는 2차원 배열의 선언 int arr1[3][4]; // 세로가 3, 가로가 4인 int형 2차원 배열 int arr2[2][6]; // 세로가 2, 가로가 6인 int형 2차원 배열 배열요소 안에 삽입된 두 개의 .. 2020. 12. 9.
포인터와 함수에 대한 이해(14-1) 함수의 인자로 배열 전달하기 인자전달의 기본방식은 값의 복사이다 - "함수호출 시 전달되는 인자의 값은 매개변수에 복사가 된다" - 위 문장에서 가장 중요한 단어는 '복사'이다. - 즉, 복사가 되는 것 뿐이기 때문에 함수가 호출되고 나면, 전달되는 인자와 매개변수는 별개가 된다. int simplefunc(int num){......} int main(void) { int age=17; simplefunc(age); // age에 저장된 값이 매개변수 num에 복사됨 } - 위 코드의 simplefunc 함수 호출을 통해서 인자로 age를 전달하고 있음. But.. - "실제로 전달되는 것은 age가 아닌, age에 저장된 값임" - 그리고 그 값이 매개변수 num에 복사되는 것. - age와 num은 값을 주고받은 사이일 뿐 그.. 2020. 12. 8.
포인터와 배열! 함께 이해하기(13-3) 상수 형태의 문자열을 가리키는 포인터 두 가지 형태의 문자열 표현 1. 배열을 기반으로 하는 '변수 형태의 문자열' 선언 char str1[] = "Hello"; → 배열 길이 자동 계산 2. 포인터 기반으로 문자열 선언 char* str2 = "No thanks"; 2와 같이 선언하면 메모리 공간에 문자열 "No thanks"이 저장 문자열의 첫 번째 문자 N의 주소값이 반환. 그 반환 값이 포인터 변수 str2에 저장. str2를 char형 포인터로 선언. 그렇다면 위의 두 문자열 선언의 차이점? [str1] 은 그 자체로 문자열 전체를 저장하는 배열, [str2] 는 메모리상에 자동으로 저장된 문자열 "Your String"의 첫 번째 문자를 단순히 가리키고만 있는 포인터 변수 다만 배열 이름 str1이 의미하는 것도 실제로는 문자 M.. 2020. 12. 8.