본문 바로가기

배열

(7)
[iOS] 배열, 집합, 튜플 자료형 배열, 집합, 튜플 자료형 Index 1. 배열 (Array) 1.1. 배열 아이템 동적 추가 1.2. 범위 연산자를 이용한 인덱스 참조 2. 집합 (Set) 2.1. 집합의 동적 추가 및 삭제 2.2. 집합 연산 3. 튜플 (Tuple) 4. 딕셔너리 (Dict) 4.1. 딕셔너리 선언과 초기화 4.2. 딕셔너리에 동적 원소 추가 및 삭제 5. 총정리 1. 배열 (Array) 배열은 많은 프로그래밍 언어가 공통적으로 제공하는 자료형이다. 스위프트에서 사용하는 배열의 특징을 정리해본다. 배열에 저장할 아이템의 타입에는 제약이 없으나, 하나의 배열에 저장하는 아이템 타입은 모두 같아야한다. 선언 시 배열에 저장할 아이템 타입을 명확히 정의해야한다. 배열의 크기는 동적으로 확장할 수 있다. 스위프트에서 배열..
다차원 배열 이번 시간에는 다차원 배열에 대해 정리하도록 하겠다. 다차원 배열이라 함은 2차원 이상의 배열들을 의미한다. 우리가 앞서 공부했던 1차원 배열의 연장선에 놓여있다. 앞서 공부했던 1차원 배열을 논리적으로 1차원의 형태를 띤다. 1차원 배열은 선 구조의 배열이고 2차원 배열은 평면 구조의 배열 , 3차원 배열은 직육면체 구조의 배열이다. 참고로 1,2,3차원 배열의 선언법은 다음과 같다. int onedimarr[5]; //길이가 5인 1차원 int형 배열 int twodimarr[5][5]; //가로,세로의 길이가 각각 5인 2차원 int형 배열 int thrdimarr[5][5][5]; //가로,세로,높이의 길이가 각각 5인 3차원 int형 배열 이들 중 실제로 많이 사용되는 것은 1,2차원 배열이다...
포인터 배열 우리는 여태껏 기본자료형의 변수를 요소로 지니는 배열들만 사용해왔다. 하지만 포인터 변수 또한 변수이니 이를 대상으로도 배열선언이 가능하다. 그게 우리가 지금 공부할 포인터 배열 이고 시작하자! 포인터 배열 : 포인터 변수로 이루어진 , 그래서 주소값의 저장이 가능한 배열포인터 배열의 선언방식ex) int *arr1[5] // 길이가 5인 int형 포인터배열 arr1 double *arr2[30] // 길이가 30인 double형 포인터배열 arr2 이와같이 우리가 평소 포인터를 선언하는 방법과 배열을 선언하는 방법을 짬뽕한 형태다! 선언에 대해서는 정리할것이 많지않으니 바로 예제로 들어가보겠다. 6행에서 int형 변수 3개를 선언과 동시에 초기화7행에서 길이3의 int형 포인터 배열을 선언하고 각 배열..
포인터 연산 포인터를 대상으로 메모리의 접근을 위한 * 연산 외에도 증감 연산도 가능하다. 이번에는 연산의 결과를 눈여겨 보자. 포인터 변수에는 주소값을 담고있다. 즉 , 자료형의 크기에 따라 연산이 진행된다. 예제를 살펴보자. 코드를 분석하고 결과값을 예상해보자 직접 짜보고 눈으로 확인하길 바란다 . 결과값은 각자....ㅎㅎ 결론만 얘기하겠다. 포인터를 대상으로 하는 증감 연산의 결과는 다음과 같다. int형 포인터 대상으로 n 증가 n * sizeof(int)의 크기만큼 증가double형 포인터 대상으로 n 증가 n* sizeof(double)의 크기만큼 증가 감소연산 또한 똑같은 값으로 감소한다. 위 내용을 일반화 시켜보면 " TYPE형 포인터를 대상으로 n의 크기만큼 값을 증가 및 감소 시 , n x size..
포인터와 배열의 관계 이번 공부를 통해 알리고자 하는 내용은 배열 또한 포인터 라는 사실이다. 배열의 이름은 포인터다. 단 , 그 값을 바꿀수 없는 '상수 형태의 포인터'다. 다음 예제를 살펴보고 진행하도록 하자. (참고로 %p 는 주소값의 출력에 사용되는 서식문자이다.) 정수형 길이3의 배열을 선언과 동시에 초기화 해주었다. 그리고 배열의 각 요소의 주소값들을 출력하고있다. 결과값을 보자! 결과값을 살펴보면 16진수 형태로 출력됨을 알수있으며 동시에 각 요소들의 차는 4byte임을 알 수 있다! (우리가 선언한 배열은 int형 , int형 자료형은 하나당 4byte의 크기를 갖는다!) 모든 배열의 요소는 메모리 공간에 나란히 할당된다! 라는 점을 몸소 확인하였다. 그리고 배열이름을 출력하는 부분에서 배열의 첫번째 요소 값을..
char형 배열 , 문자열 이번에는 배열의 한 종류인 문자열에 대해 공부하자 우리는 한 문자를 입,출력 하기위해 char라는 자료형을 사용한다. 배열을 선언하는데 자료형은 char형으로 선언하면 어떻게 될까? 배열은 각각의 요소들을 나란히 정렬시키고 그 요소들이 문자들이라면 '문자열'을 만들수 있지 않을까? char형 배열을 이용하면 문자열의 저장뿐만 아니라 문자열의 변경도 가능해진다. 이전에 언급한것과 같이 C언어 에서는 문자열을 " 큰 따옴표를 이용하여 표현한다. 다음의 예시를 보자 char[14] = "Good morning!"; 이러한 char형 배열 선언을 통해 메모리 공간에는 char변수14개가 나란히 할당되고 , 이 배열에는 이러한 형태로 문자열이 저장된다. G o o d m o r n i n g ! \0 우리가 입력..
1차원 배열 배열(Array)란 무엇인지 알아보자! 왠지 이름만 들어도 다수의 데이터를 저장하고 처리하는데 용이할 것 같은 느낌적인 느낌이 든다. 예를 들어보자! 한 아파트에 거주하는 인원을 저장 및 갱신하는 프로그램을 만든다고 가정해보자. 이 아파트는 15개의 층이있고 각 층에는 네 가구가 입주해 있다. 그러면 우리는 각각의 데이터를 대입할 변수가 총 15 x 4 = 60개가 필요하다.... 그렇다... 그러면 이런식으로 짜야할듯 싶다.. int floor01 , floor02 , floor03 , floor04 ....floor60 총 60개를 선언해줘야 한다. 이렇게는 안할랜다... 우리는 귀찮음을 덜기 위해 배열을 이용한다 배열을 선언하기 위해서는 배열이름 , 배열의 길이 , 자료형 이렇게 3가지의 요소만 있..