배열5 [자료구조] 배열(Array) 배열 배열이란 동일한 자료형을 연속적으로 저장하는 자료구조이다. 주소값을 확인해보면 4씩 증가하는 것을 확인할 수 있다. 이는 int형 데이터를 저장하기에 int의 크기인 4바이트씩 증가하는 것이다. 주소값은 각 자료형의 크기만큼 일정하게 증가하게 된다. 즉, char형 배열이라면 주소값이 1씩 증가하고, double형이라면 8씩 증가하게 된다. 배열의 선언 언어마다 배열의 생성 방법은 다르다. 여기서는 c++을 이용해서 해보도록 하겠다. #include using namespace std; int main() { int arr[5]; for(int i=0; i 자료구조 2023. 9. 23. [백준/BOJ] 11656번: 접미사 배열 https://www.acmicpc.net/problem/11656 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 문제 접미사 배열은 문자열 S의 모든 접미사를 사전순으로 정렬해 놓은 배열이다. baekjoon의 접미사는 baekjoon, aekjoon, ekjoon, kjoon, joon, oon, on, n 으로 총 8가지가 있고, 이를 사전순으로 정렬하면, aekjoon, baekjoon, ekjoon, joon, kjoon, n, on, oon이 된다. 문자열 S가 주어졌을 때, 모든 접미사를 사전순으로 정렬한 다음 출력하는 프로그램을 작성하시오. 해설 입력받은 문자열의 길이만큼 .. PS(Problem Solving)/BOJ 2021. 12. 29. C언어 - 다차원 배열과 포인터의 관계 1차원 배열이름의 포인터 형과 2차원 배열이름의 포인터 형 int arr[10]; 여기서 arr은 int형 포인터이다. 이를 함수의 인자로 전달하기 위해서는 다음과 같다. #include void SimpleFunc(int *ptr) { . . . . } int main() { . . . . SimpleFunc(arr); . . . . } 이제 2차원 배열을 봐보자. int arr2[2][3]; 1차원 배열에서 arr은 int형 포인터였으니 2차원 배열인 arr2는 int형 더블 포인터일까? 이 질문의 답은 "아니다"이다. int형 더블 포인터이기 위해서는 다음과 같아야 한다. int *ptr[2]; 2차원 배열 이름이 더블 포인터를 가리킨다고 오해하면 안 되는 것이다. 그럼 2차원 배열 이름의 포인터 .. Programming/C 2021. 10. 4. C언어 - 포인터와 배열 이전 글에서 포인터에 대해 알아보았다. 이제 포인터와 배열의 관계에 대해 알아볼 것이다. 배열의 이름도 사실 포인터이다. 하지만 그 값을 바꿀 수 없는 "상수 형태의 포인터"이다. 포인터 변수와 배열의 이름을 비교해보면 다음과 같다. 표에서 보이듯 둘 다 이름이 존재하며, 특정 메모리 공간의 주소 값을 지닌다는 공통점이 있지만 포인터 변수는 이름이 의미하듯이 변수이고, 배열의 이름은 가리키는 대상의 변경이 불가능한 상수라는 차이가 있다. 배열은 상수 형태의 포인터이며 "포인터 상수"라고도 부른다. 또한 배열의 이름도 포인터이기 때문에 배열의 이름을 피연산자로 하는 *연산이 가능하다. 배열이름의 포인터 형과 배열이름을 대상으로 하는 *연산 int arr[5]; 이와 같이 배열이 선언돼 있자 하자. 배열의 .. Programming/C 2021. 9. 29. C언어 - 1차원 배열 배열이란? 단순하게 "둘 이상의 변수를 모아 놓은 것"이다. 배열은 다수의 데이터를 저장하고 처리하는 경우에 유용하게 사용할 수 있다. 배열은 1차원 배열뿐만 아니라 2차원, 3차원 등 다차원 배열이 있다. 우선 1차원 배열에 대해서 알아본 후, 나중에 다차원 배열에 대해 설명하겠다. 1차원 배열 선언 배열을 선언하는 데에는 3가지 요소가 필요하다. int //배열을 이루는 요소의 자료형 arr //배열의 이름 [4] //배열의 길이 즉, 위의 배열이 선언하는 바는 "int형 변수 4개로 이루어진 arr이라는 이름의 배열을 선언해라"이다. 다른 배열을 예시로 더 들어보겠다. double arr[3]; // double형 변수 3개로 이루어진 배열 arr char str[5]; // char형 변수 5개로.. Programming/C 2021. 9. 23. 이전 1 다음 728x90