배열4 [C#][Study][기초다지기] 배열 배열 [다차원 배열 선언] string[,] arr = new arr[3, 3]; // 자주 헷갈리는 것들 // 1. string[][] arr = new string[][]; // 괄호 2개 x // 2. string arr[,] = new string[3, 2]; // 선언할 때는 괄호가 먼저 와야함 [매개변수 배열] - 매개변수의 개수가 확실하지 않거나, n개의 매개변수를 허용하는 메서드를 생성할 때 사용 - params 키워드 + 1차원 배열 static int add(params int[] allnumber) (ex) 예제 using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace p.. 2023. 9. 23. [면접 준비] 배열이 순차적으로 데이터를 저장하는 이유 1. 배열의 특징 - 데이터를 순차적으로 저장 - 인덱스를 이용하여 데이터에 빠르게 접근 가능 2. 배열이 순차적으로 저장되는 이유 - 실제 메모리 상에서 데이터가 순차적으로 저장되면 맨 앞의 주소와 해당 자료형의 byte수, 인덱스 번호만으로 데이터에 접근할 수 있기 때문이다.([2,4,5] -> 2의 주소 1000 -> 5의 주소 = 2의 주소(1000) + int형(4byte)*인덱스번호(2) = 1008) - 즉, 인덱스를 이용해 데이터에 빠르게 접근하기 위해 순차적으로 저장되는 것이다. 3. 데이터가 순차적으로 저장되는 배열의 단점 - 삽입 삭제가 느림 -> 삭제나 삽입 시 해당 위치 이후의 모든 원소들을 한칸씩 이동시켜야하기 때문 - resizing이 어려움 -> 크기가 예측이 어려운 데이터를.. 2023. 7. 26. [면접 준비][자료구조] 벡터, 리스트, 맵, 딕셔너리 1. 배열 - 스택에 생성되는 인덱스 기반의 기본 자료구조 - 길이가 고정되어 있음 - 메모리의 효율성이 높음 - 원소에 직접 접근하는 것이 쉬움 - 원소를 중간에 추가하거나 삭제하는 것은 어려움 2. 벡터 - 힙에 생성되어 메모리에 동적으로 할당되는 iterator 기반 컨테이너 - 배열과 같이 연속적인 메모리 값에 할당되고 특정 원소에 접근하기 쉬움 - 속도 면에서는 배열에 비해 성능이 떨어지지만 자료를 효율적으로 관리할 수 있고, 예외처리가 쉬움 - 배열과 마찬가지로 원소를 중간에 추가하거나 삭제하는 것은 어려움 3. 리스트 - 비연속적인 메모리 값을 가짐 - 포인터로 연결되어 연결리스트라고 불림 - 각 원소의 추가 및 제거가 빠르고 쉬움 - 원소에 직접 접근하는 것은 불가능하고 처음이나 끝부터 차.. 2023. 7. 21. [C++] 문자열 리터럴 #include using namespace std; int main() { char str[] = "hello"; // 1번 const char *pstr = "eee"; // 2번 // char *pstr = "eee"; -> 안됨 str[3] = 'k'; // pstr[3] = 'k'; -> 안됨 cout 2023. 7. 19. 이전 1 다음