본문 바로가기

c3

vector란 무엇 일까? c++ Vector란 무엇 일까? cppreference.com 에 검색을 해보자 std::vector is a sequence container that encapsulates dynamic size arrays. vector는 동적 사이즈 배열을 캡슐화하는 연속된 컨테이너입니다.라고 설명하고 있다 동적 사이즈 배열이란? 정적 배열처럼 크기가 정해진 배열이 아니라 요소를 추가하거나 제거할 수 있는 임의 액세스 가변 크기 목록 데이터 구조이다. 동적인 배열을 사용할 때 vector를 쓰는구나라고 유추할 수 있다. 자 그럼 동적 사이즈 배열을 연속되게 사용하는 것을 vector를 사용하지 않고 코드를 작성해 보자 #include #include using namespace std; int main() { int*.. 2022. 6. 1.
Call by value Call by reference Call by address 정리c++ call by value : 값에 의한 전달 call by reference : 참조에 의한 전달 call by address : 주소에 의한 전달 Call by value : 값에 의한 전달 arg * arg 를 실행한뒤 num의 값은 100이 되었다 하지만 main() 함수에서의 num의 값은 그대로 10이다. 그 이유는 주소를 확인해 보면 알 수 있다. 서로 공유하는 주소 값이 다른 것 을 확인 할 수 있다. 이러한 경우를 값복사 Call By Value 라고 한다. 말 그대로 인자(num)의 값이 매개변수(Func)에 복사 된것을 말한다. Call By Reference 참조에 의한 전달 Call By Reference 참조에 의한 전달 위에 빨간줄이 있는 곳을 보면 인자값에 &앰퍼샌드가 있는 것.. 2022. 5. 22.
C언어의 감초 pointer란 pointer 변수를 선언 할 때 일반 변수와 달리 분신을 생성할 변수임을 알리는 * 가 사용된다 int * pointer; 별표가 사용된 모든 변수는 다른 변수의 분신이 되기 위한 변수다. 일반적으로는 변수를 그냥 대입하지만 (ex: num= saram_A;) 분신을 만들기 위해서는 분신 연산자(&)를 사용해야 한다. pointer = saram_A 가 아니라 pointer = &saram_A 라 선언을 한다 여기서 &의 역할은 saram_A를 분신으로 만들어서 pointer에게 넘겨준다는 의미로 사용된다. pointer = saram_A 가 아니라 pointer = &saram_A 라 선언을 한다 이를 어기면 예외처리 오류가 난다 num_B의 값을 바꾸어 주어도 pointer_B의 값이 바뀌는 걸 확.. 2022. 4. 29.