프로그래밍79 [C++] & Reference 연산자 &는 논리 연산자로 분류가 된다. 하지만 변수 앞에 붙을 경우 의미가 달라진다. int main() { int a = 10; cout 2023. 4. 22. [C++] Lvalue & Rvalue 컴퓨터가 특정 값을 요구할 때, 우리는 흔히 변수를 선언해 값을 대입해서 이용한다. int a = 10; 위와 같은 형태로 많이 사용하는 데 C언어에서는 Lvalue와 Rvalue는 쉽게 말하면 대입 연산자를 기준으로 좌측에 존재하는 것을 Lvalue, 우측에 존재하는 것을 Rvalue라고 한다. 하지만 C++에 들어와서는 조금 의미가 변했다. 좀 더 깊게 파고 들어가면 Lvalue는 변할 수 있는 것들, 주소를 할당 받아 정의 이후에 사라지지 않는 값, 즉 변수를 의미한다. int형 변수 a는 int 값이 담기지만 그 내부의 값은 변한다. 10을 대입하면 a는 10이고, 20을 대입하면 a는 20이다. a는 해당 구문을 벗어나도 사라지지 않으며 해당 스코프가 사라질 때까지 존재한다. 이처럼 Lvalue.. 2023. 4. 22. [Data Structure] Stack 스택 박스에 물건을 쌓듯이 먼저 들어간 물건이 가장 나중에 나오는 것처럼, 스택의 구조는 위와 같다. 후입선출, 나중에 들어간 데이터가 제일 먼저 밖으로 빠져 나오는 구조이다. 때문에 스택은 Push와 Pop이 핵심 연산이다. class Stack { public: Stack() { stackArr = new int[5];; capacity = 5; top = 0; }; private: int* stackArr; // 스택 배열 int capacity; // 허용량 int top; // 현재 상위 위치 public: void Push(int data); void Pop(); int Top() { return stackArr[top - 1]; } int Size() { return top; } privat.. 2023. 4. 22. [Data Structure] Linked List 링크드 리스트, 연결형 리스트라고 부르는 자료구조이다. 사실 자료구조라고 하기엔 애매한 감이 있지만 배열과 더불어 후에 서술할 다른 자료구조들의 바탕이 되는 자료구조이기 때문에 개념을 집고 넘어가야 할 필요성이 있다. 구조 데이터와 주소를 담는 공간으로 이뤄진 노드들의 연결이다. 주소는 자신의 뒤에 오는 노드의 주소를 담고 있고 때문에 노드를 하나 하나 거쳐서 순차적으로 접근하는 구조를 가지고 있다. 배열은 시작 주소로부터 일정한 크기의 데이터 나열로 된 구조이지만 연결형 리스트는 메모리 주소가 이어진 구조가 아니라 메모리 내에 여러 곳에 분산적으로 퍼져 있는 구조이다. 자신의 뒤로만 접근이 가능하면 싱글, 앞뒤로 접근이 가능하면 더블 링크드 리스트라고 한다. 링크드 리스트의 가장 앞 부분을 헤드/머리 .. 2023. 4. 21. 이전 1 ··· 7 8 9 10 11 12 13 ··· 20 다음