C++ 변수 Variable

m._.jooong·2023년 3월 14일
0

C++

목록 보기
1/23
#include <iostream>

// 문자열 관련 라이브러리
#include <string>

// c++ 표준 라이브러리 사용
using namespace std;	// C++ Standard Library

int main()
{
	// 변수

	// int 자료형 : 정수값을 저장
	// 1, 102, 123, 등 정수 값을 저장

	// float 자료형 : 실수 값을 저장
	// 3.12 , 3.436, 등 실수 값 저장 

	// string 자료형 : 문자열 저장
	// "대한민국", "C++ 공부", "!!" 과 같은 문자열 저장

http://kor.pe.kr/util/4/charmap.htm

// 변수는 프로그램이 사용하는 데이터를 일시적으로 저장하는 목적으로 사용하는 메모리 공간이다.
// 변수는 우리가 자료형에 이름을 붙여 준 것이다.
// 이름을 붙여준다는 것은 붙힌 사람 마음대로 입니다. 하지만 변수의 이름에는 규칙이 있다.

// 1. 변수의 이름에는 숫자, 영문자, 특수문자로 _(UnderScore)가 쓰일 수 있다.
// 2. 영문자로 시작할 경우 소문자로 쓴다. 필수는 아니지만 관례이다. 영문자로 쓸 경우 대문자와 소문자를 가립니다.
//		apple 과 Apple 은 다른 변수이다.
// 3. 숫자로 시작해서는 안된다.
// 4. 키워드를 사용해서 변수 이름을 선언하면 안된다.
// 5. 특수문자인 _(Underscore)로 시작할 수 있다.

/**
C++은 자체 사용을 위해 C++ 17 기준으로 84개 단어를 예약해 놓았습니다. 이러한 단어를 키워드(keyword)라고 합니다.

alignas, alignof, and, and_eq, asm, auto, bitand, bitor, bool, break, case, catch,
char, char16_t, char32_t, class, compl, const, constexpr, const_cast, continue, decltype, default, delete,
do, double, dynamic_cast, else, enum, explicit, export, extern, false, float, for, friend
goto, if, inline, int, long, mutable, namespace, new, noexcept, not, not_eq, nullptr,
operator, or, or_eq, private, protected, public, register, reinterpret_cast, return, shrot, signed, sizeof,
static, static_assert, static_cast, struct, switch, template, this, thread_local, throw, true, try, typedef,
typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t, while, xor, xor_eq
*/

/**
변수 선언
자연스럽게 써야하는 문법적 요소
1. 포인터 Pointer
2. 참조자 Reference
3. 상수 Constant
4. 동적할당 Dynamic Memory Allocation
5. 스마트 포인터 2011년도에 지원을 시작함
	. unique_ptr : 객체의 유일한 소유권을 가지는 스마트 포인터
	. shared_ptr : 객체간의 공유가 가능한 스마트 포인터
	. weak_ptr	 : shared_ptr의 순환참조 문제를 해결한 약한 참조의 스마트 포인터
*/

// 변수의 이름이 길기는 하지만 상관이 없다.
	int thisIsMyFirstVariable;

	/**
	주석은 설명글로 문장에 영향을 주지 않는다.
	*/

	/**
	변수의 이름으로 상관은 없지만 a라는 변수의 이름은 직관성이 떨어지고
	어떤 이름의 변수인지 알아보기 불편하다.
	변수나 함수, 클래스의 이름을 지을때는 고민을 많이 해야한다. 이름만 보더라도 어떤의미의 변수, 함수 , 클래스 이름인지 알 수 있도록 한다
	*/
	int a;

	/**
	변수의 이름 최대 길이
	C언어 256자
	C++ 40억자
	*/

	/**	숫자로 시작하니 변수로써 쓸 수 없다*/
	//int 1Score;		// (x)


	/** 변수의 이름에 한글을 쓰면 안된다. 에러는 안나지만 안된다. */
	int 스코어;

	/** 변수의 이름은 -(UnderScore)로 시작할 수 있다.
		멤버 변수는 변수 이름만 보더라도 멤버 변수인 것을 알 수 있도록
		m, m_, _를 붙여 주곤 한다.
	*/
	int _thisIsMySecondVariable;

	/**
	; = 세미콜론
	: = 콜론
	코드를 작성할 격우 꼭 마지막에 세미콜론(;)을 찍어줘야한다.
	*/

	/**
	() : 소괄호
	{} : 중괄호
	[] : 대괄호
	<> : 꺽쇠괄호
	*/

	// 변수 선언
	int intValue1;	// 정수 타입
	
	float floatValue1; // 실수 타입

	double doubleValue1; // 정밀도가 더 높은 실수 타입

	char charValue1;	// 문자 타입

	string stringValue1; // 문자열 타입

	/** 우리가 만든 변수에 값을 변경*/
	intValue1 = 123;
	cout << "intValue1 : " << intValue1 << endl; // endl : endline
	cout << endl; // 공백 추가
	 /**
	 제대로 결과 값이 보인다,
	 float 타입 변수에 값을 줄 때는 뒤에 "F", "f"를 붙여준다

	 intValue1변수의 값이 2048이고 floatValue1변수의 값이 2048이면
	 2048이라는 값을 볼때는 정수인지 실수인지 구분이 안갈 수 있다
	 */
	floatValue1 = 3.14f;
	cout << "floatValue1 : " << floatValue1 << endl; // endl : endline
	cout << endl;
	/**
	double타입은 값 뒤에 float타입처럼 문자가 없다
	float타입과 double타입의 차이점은 정밀도의 차이입니다.
	*/
	doubleValue1 = 3.14;
	cout << "doubleValue1 : " << doubleValue1 << endl; // endl : endline
	cout << endl; 
	/**	Char(문자) 타입은 작은따옴표 안에 값을 넣어준다. */
	charValue1 = 'a';
	cout << "charValue1 : " << charValue1 << endl; // endl : endline
	cout << endl;
	/** string(문자열) 타입은 큰따옴표 안에 값을 넣어준다. */
	stringValue1 = "C와 C++ 공부";
	cout << "stringValue1 : " << stringValue1 << endl; // endl : endline
	cout << endl;

	/** 
	변수를 선언할 때 같은 타입이라면 한 줄에 변수를 선언할 수 있다.
	하지만 각자 따로 선언하는게 좋다.
	*/
	//int intValue2, intValue3; // (x) 안좋은 예시
	int intValue2;
	int intValue3;

	/**
	main()함수는 특별한 함수이다. 우리가 함수를 정의해 주면 호출하지 않으면
	함수를 쓸 수 없다. 하지만 main()함수는 우리가 호출하지 않아도
	자동으로 호출되는 이벤트 함수이다.
	게임을 분석할 때 main() 함수부터 분석을 한다.
	*/

	/**				생성자		시작함수		매프레임 호출함수
	Unity C#		Awake		Start		Update
	native C++		생성자		main		구현해 주어야 한다
	Unreal C++		생성자		BeginPlay	Tick
	*/

}

0개의 댓글