[C언어] 배열과 포인터(3)
·
🛠️Backend/⚙️C
✅ 1. 포인터와 배열C 언어에서는 문자열을 변수에 저장하는 방법이 크게 문자 배열, 문자 포인터 두 가지 방식으로 나뉨.(1) 문자열과 포인터 - 문자 포인터 방식[ 문자 포인터 방식 ]문자 포인터 방식은 문자열을 문자열 상수로 저장을 한다.즉, 포인터가 가리키는 대상이 상수이므로, 해당 포인터를 이용해서 문자열의 내용을 수정할 수 없음.결과적으로 문자열 리터럴은 읽기 전용 메모리에 저장이 되는셈임.[ 문자 포인터 예시 ]포인터가 가리키는 곳은 문자열의 첫 번째 요소이며, 반복문과 포인터 연산을 통해 문자열을 출력 할 수 있음.(2) 문자열과 포인터 - 배열 방식문자형 배열을 만들면서, 리터럴 방식으로 문자열을 넣어서 배열을 초기화 할 수 있음.위와 같이 포인터 변수를 선언해 배열 변수를 넣게 되면, ..
[C언어] 배열과 포인터(2)
·
🛠️Backend/⚙️C
✅ 1. 포인터의 개념(1) 변수와 포인터의 차이위와 같이 일반 변수 선언 및 초기화를 거치면, 메모리에 변수 공간을 할당을 한 뒤 그 공간에 데이터를 넣게 된다.이후, 해당 일반 변수를 포인터(&) 로 가리키게 되면, 해당 주소값을 참조하게 된다.참조된 주소값을 포인터 변수에 넣게 되면, 포인터 변수가 하나 할당이 되며, 내부에는 일반 변수의 주소값을 넣게 된다.그리고 포인터 변수에는 일반 변수의 주소값을 가지고 있기 때문에 포인터 변수에 데이터를 넣게 되면 해당 주소값에 맞게 일반 변수에 데이터를 넣어주게 된다.즉, 정리하면 포인터 변수는 주소값을 저장하는 변수로 볼 수 있음.포인터 변수에 주소값을 넣기 위해서는 포인터(&) 를 통해서 주소값을 가져와 넣을 수 있음.[ 요약 및 정리 ]포인터(&) 로..
[C언어] 배열과 포인터(1)
·
🛠️Backend/⚙️C
✅ 1. 배열의 개념(1) 배열(array) 이란?여러 개의 동일한 자료형의 값을 연속적인 메모리 공간에 저장하고, 이를 하나의 이름으로 관리할 수 있도록 만든 변수임.각각의 배열 요소는 0번부터 시작해 차례로 부여된 번호(인덱스)를 이용하여 액세스 함배열의 차원: 배열의 요소가 나열되는 구조이며, 1차원, 2차원, 3차원 ... 등이 있음.위와 같이 자료의 최댓값을 구하는 예시가 있다고 가정하면, 변수만 가지고 데이터를 저장 할 경우 최댓값을 찾을 때 위와 같이 하나씩 전체를 비교해야 한다. 이러한 과정은 매우 비효율적임. 그래서 배열을 사용함.✅ 2. 1차원 배열(1) 1차원 배열 - 선언위와 같이 동일한 자료형의 배열명을 통해 독립적으로 개수를 지정해 배열의 크기를 지정해서 만들 수 있음.int a..
[컴퓨터과학 개론] 3강 - 자료구조(1)
·
🎓방송통신대학교/💻컴퓨터과학 개론
✅ 1. 기본 개념(1) 자료구조의 개념[ 추상화 ]공통적인 개념을 이용하여 같은 종류의 다양한 객체를 정의하는 것을 의미함.다양한 객체의 예시는 버스가 될 수 있고, 버스에는 광역, 고속, 시외 등 다양한 종류의 버스가 존재하지만 공통적인 개념을 뽑아서 이미지화를 통해 추상화를 시킬 수 있음. 즉, "버스 타러 가자" 만으로도 이해가 충분할 수 있음.예를 들면 수식, 프로그램 언어 등이 있음[ 자료(데이터) 추상화 ]다양한 객체를 컴퓨터에서 표현하고 활용하기 위해 필요한 데이터의 구조에 대해서 공통의 특징만 뽑아 정의 한 것을 의미함.자료구조는 종류가 다양하다. 즉, 배열만 봐도 여러 배열이 존재 할 수 있기 때문에 배열 자체의 공통적인 특징을 뽑아서 자료 를 추상화 할 수 있음. 이유는 의사소통을 하..
[자료구조] 2강 - 배열
·
🎓방송통신대학교/🔢자료구조
✅ 1. 배열의 정의일정한 차례나 간격에 따라 벌여 놓음차례(순서)와 관련된 기본적인 자료구조이다.원소의 메모리 공간(메인 메모리, DDR)의 물리적인 위치를 순서적으로 결정하는 특징이 있다.배열의 순서는 메모리 공간에서 저장되는 원소값의 물리적 순서와 같다.인덱스와 원소값( indext, value ) 의 쌍으로 이루어져 있음.(1) 배열의 의미인덱스로 표현되는 순서를 갖는 특정 배열이 존재하며, 그곳에는 순서대로 원소가 들어가게 된다.원소들이 모두 같은 자료형과 같은 크기의 기억 공간을 가지게 된다.배열의 인덱스값을 이용해서 원소값에 접근하기 때문에 직접 접근이 가능함[ 배열의 인덱스 값 ]컴퓨터의 내구구조나 메모리 주소와 무관하게 개발자에게 개념적으로 정의되는 추상화된 값이다.메모리 주소값은 실제 ..
내일배움캠프 8일차 TIL - 컬렉션(Collection)
·
⛺스파르타코딩클럽
240424# 오늘 꼭 기억 해야 할 것!1. List(ArrayList, LinkedList, Stack), Map, Set, Queue오늘의 학습     ●  1. Collection    ●  2. 자바 객체지향 - 클래스    ●  2. 자바 객체지향 - 상속컬렉션 (Collection)컬렉션은 자바에서 배열의 한계를 극복하기 위해서 만들어진 자료구조이다. (배열보다 더 많은 기능을 제공)컬렉션의 기능으로는 크기 자동조정/ 추가/ 수정/ 삭제/ 박복/ 순회/ 필터 포함확인 등등 매우 많고 다양하다.컬렉션은 기본형 변수가 아닌 참조형 변수를 저장한다. ( 배열은  1.  컬렉션(Collection)의 종류 List(ArrayList) :  순서가 있는 데이터의 집합 ( 데이터..
내일배움캠프 7일차 TIL - 배열(Array)
·
⛺스파르타코딩클럽
240423# 오늘 꼭 기억 해야 할 것!1. 얕은복사와 깊은복사의 개념2. 배열을 만들때 사용한 new의 대한 주소값 개념오늘의 학습     ●  1. 배열의 선언 및 초기화    ●  2. 배열의 값 넣기 및 뽑기(출력)    ●  3. 얕은복사    ●  3. 깊은복사배열 ( Array )배열이라는 "변수"에 변수나 값들을 넣어 보관하여 원할 때 꺼내서 쓰거나 넣거나 할 수 있는 자바의 자료구조이다.배열에는 "인덱스"라는 것이 존재하며 만들어진 배열의 칸 하나하나를 접근하는데 쓰이는 구분자 역할을 한다.참고 : index는 앞에서 0부터 시작한다. 즉, 배열의 제일 앞의 값의 인덱스는 0인 것이다.1. 배열의 선언 및 초기화1. 배열의 선언// 배열의 선언int[] in..