더듬이의 헬로월드

Hello, World!

728x90

분류 전체보기 59

[C++기본] 17.const와 포인터

포인터 변수는 주소를 가리키는 변수이다. 포인터 변수는 현재 자신이 가지고 있는 주소를 다른 주소로, 혹은 아무것도 가리키지 않도록 바꿀 수도 있고, 아니면 현재 주소가 가리키는 값을 수정할 수도 있다. const와 포인터가 만나면? 포인터 변수가 상수화가 된다면 두가지의 경우를 생각해볼 수 있다. 1.포인터가 가리키는 변수를 상수화 int a; int b; const int* pointer = &a; a = 400;//가능 pointer=&b;//가능 *pointer=500//불가능 cout

[C++기본] 16.const, 상수

변수와 상수 int value=500; const int value = 500; 위의 두 코드는 어떻게 다를까? 위의 value변수는 항상 값이 바뀔 수 있는 변수이지만, 자료형 앞에 const를 붙혀 선언한 변수는 값이 바뀌지 않는 상수로 취급된다. 여기서, 주의해야 할 점이 있다. const을 이용해 선언한 상수는 변수가 상수화 된 것이지, 처음부터 고정된 상수가 아니라는 점이다. const int value=500; value=300; 이는 컴파일러가 자동으로 문법적 오류를 잡아준다. 500=300; 과 같아져 버리기 때문이다. 그럼, const로 상수화된 변수의 값을 바꾸는 것은 정말 불가능 할까? ⇒const상수는 이후의 문법적으로 값을 바꾸지 못하게 막아주는 것이다. 주소로 접근해볼까? con..

[C++기본] 14.운영 체제와 포인터

솔루션, 프로젝트, 코드 비주얼 스튜디오는 솔루션, 솔루션 아래의 프로젝트, 프로젝트 아래의 코드들로 나뉜다. 기본 단위는 프로젝트로 계산한다. 현재 프로젝트의 도움을 주는 다른 프로젝트를 만들수도 있고, 또 다른 프로젝트를 만들 수도 있다. 플랫폼이란? -프로그램이 실행되는 기반, 안드로이드, IOS, Windows등 다양한 기능들이 세트로 모여있는 공간 -Windows 안에서도 실행 환경을 플랫폼이라고 부른다. -또한, 개발을 편하게 하기 위해 만들어진 개발플랫폼이라는 것도 존재한다. ⇒플랫폼은 다양한 기능을 제공하여 실행환경을 동일하게 만들어주는 공간을 의미한다. 32비트, 64비트 솔루션 빌드 비주얼 스튜디오는 어떤 운영체제, 즉 32비트 기반의 플랫폼인지, 64비트 기반의 플랫폼인지를 나누어서 ..

[C++기본] 13.정적 변수와 외부 변수

분할 컴파일과 전역 변수의 문제 모든 작업을 한 cpp 파일에서 작업하지 않는 이상 코드는 분할해서 작업하는 것이 대부분일 것이다. 이럴 경우 저번 포스팅에서 말했듯, 메모리 영역에 쌓이는 전역 변수의 이용에 조금 어려움이 있다. 정적 변수, static 서로 다른 파일에 같은 이름의 전역 변수를 쓰거나, 전역변수가 들어간 헤더를 여러 파일이 include 하게 되면 링크 과정에서 오류가 난다. ⇒이를 방지하기 위해 static 키워드와 함께 선언하는 정적 변수를 사용한다. 1번 파일 #include using namespace std; int DDE; int main(){} 2번파일 #include using namespace std; int DDE; int main(){} ⇒일반적인 전역 변수는 이런..

[C++기본] 10.지역 변수와 전역 변수

변수의 영역과 메모리 역역 변수의 영역 1.지역 변수 2.전역 변수 3.정적 변수 4.외부 변수 메모리 영역 1.스택 영역 2.데이터 영역 3.읽기 전용(코드, ROM) 4.힙 영역 1.지역 변수와 스택 영역 int main(){ int abc; } 함수 내에서 선언되는 변수들을 말한다. 함수 호출시 사용되는 메모리 영역이 스택 영역이므로 함수 안의 지역변수들도 스택 영역에 호출된다 해도 틀린 말은 아니다! 2.전역 변수와 데이터 영역 **#include //1.전역 변수 int data1; int main() { //2.지역 변수 int data2; }** 전역변수는 함수 밖에서 선언되는 변수를 말한다! 전역 변수는 데이터 영역에서 메모리가 할당된다. 최초의 실행 함수, main함수 호출시에 데이터 영..

[C++기본] 9.구조체

구조체란? 사용자 지정 자료형이라고도 한다. 즉, 내가 직접 자료형을 조합해서 새로운 자료형은 만드는 것이다! 구조체의 기본 형식 struct Student { int id; bool sex; }; 위 구조체를 보면, 나는 Student라는 새로운 자료형을 만들었다. int형 변수 id 와bool형 변수 sex가 합쳐진 자료형이 바로 Student라는 새로운 자료형이라는 것이다. 결국 새로운 자료형이라고 해도 원래의 자료형들을 조합해서 만든 것에 불과하다. 구조체의 변수 접근 배열 마찬가지로 구조체는 각 요소가 연속적으로 메모리에 할당된다. 그렇다면, 구조체의 각 요소에 접근하고 싶다면??? Student s1;//변수 선언 cout

[C++기본] 8.배열

배열이란? 배열이란 같은 자료형으로 이루어진 갯수가 정해진 모임이라고 생각할 수 있다. 배열은 메모리 영역에 일렬로 할당되며, 인덱스(번호)는 0부터 시작합니다! 배열의 기본 형 int array[10]={}; 위 코드에서는 int형 자료형으로 10개의 변수를 선언하고, 각 값들을 0으로 초기화 해주었다는 뜻을 의미한다. 그럼 개별 요소들은 어떻게 접근할까? 배열은 인덱스을 통해 각 원소에 접근한다. array[0]=10; array[1]=20; array[2]=30; array[3]=40; array[4]=50; array[5]=60; 주의 할 점이 있다. 배열의 첫번째 인덱스는 1번째가 아니라 0번쨰부터 시작한다. 배열의 메모리는 연속적으로 할당된다 변수를 선언하면 메모리 영역에서는 그 변수의 자료형..

728x90