키워드는 c++프로그래밍(다른 언어도 비슷하다)에서 지원하는 것들이다.
if,return,int 등이있다.

키워드는 변수명에 들어가면 안된다.

식별자는 변수,함수,클래스명등을 말한다.

변수,함수,클래스명은 숫자로 시작못한다.
변수명은 너무길지 않으면서 의미를 충분히 표현할 수 있게하자.
변수명 _(언더바)로 분리하는 경우가 많다.
변수명은 대문자로 잘 쓰지않는다.
ex)int num_apples;
ex)int numApples;

함수명은 프로젝트 그룹에 따라 유연성있게 대문자,소문자로 시작할지 보고 정하자.

클래스명은 대부분 대문자로 시작한다.

변수,함수명이 너무길어 질거같으면 주석으로 처리하자.

 

#include <iostream>

//GetNumber() getNumber()둘다 상관없다.
void getNumber()
{

}

//클래스명은 대문자로 대부분 대문자로 시작한다.
class MyClass
{
public:
	int m_variable;
};

int main()
{
	//사과의 숫자를 담는 int형 변수로 변수명만 보면 알 수 있다.
	int num_apples;
	//_(언더바)형식이 아닌 대문자로 구분하는 방법도 있다.
	int numApples;
}

 

'개발 소발 > 개발 C++(기초)' 카테고리의 다른 글

c++ namespace란?  (0) 2019.06.26
c++ 헤더파일 만드는 이유  (0) 2019.06.26
c++ 함수란?  (0) 2019.06.25
c++ 입력,출력  (0) 2019.06.25
c++ 객체,변수,초기화,대입이란?  (0) 2019.06.25

함수 function
- 반복되는 작업을 분리하여 함수로 생성한다.
리턴값 return values
- 함수에서 반환하는 결과값을 말한다.
매개변수 parameters
- 함수가 사용될때 생성되는 변수를 말한다.
인수 aguments
- 함수를 불러올때 사용할 인수를 말한다.

 

#include <iostream>

using namespace std;


//함수도 메모리에 저장되어 있다.
//integer형태로 반환한다.
//int a,int b는 parameters 매개변수 이다.
int addTwoNumbers(int a, int b)
{
	int sum = a + b;
	cout << sum << endl;

	//반환값
	return sum;
}

//return 값이 없을때 void를 사용한다.
void printHello() 
{
	cout << "Hello" << endl;
}

int main()
{
	//반복적인 작업에 같은코드를 계속생성하는건 비생산적이다.
	//한가지패턴이 여러번 나타나면 함수로 분리한다.
	cout << 1 + 3 << endl;
	cout << 4 + 5 << endl;
	cout << 8 + 7 << endl;

	//함수를 만들면 아래처럼 쉽게 사용할 수 있다.
	//한 자리 더하기에 사용하면 불필요해보지만 복잡한 사용은 무조건 쪼개서 사용한다.
	//메모리에 저장된 함수를 불러와 사용한다.
	//함수를 호출할때 (1,3) 넣어주는값을 aguments 인수라고 한다.
	//함수실행될때 파라미터에 인수를 초기화한다.
	addTwoNumbers(1, 3);
	addTwoNumbers(4, 5);
	addTwoNumbers(8, 7);

	//함수가 integer형이기에 int로 값을 저장할 수 있다.
	int a = addTwoNumbers(4, 5);
	cout << "a 변수의 값은? " << a << endl;

	printHello();

	return 0;
}

'개발 소발 > 개발 C++(기초)' 카테고리의 다른 글

c++ 헤더파일 만드는 이유  (0) 2019.06.26
c++ 키워드,식별자란?  (0) 2019.06.26
c++ 입력,출력  (0) 2019.06.25
c++ 객체,변수,초기화,대입이란?  (0) 2019.06.25
C언어 파일입출력  (0) 2019.01.18

입출력을 사용하기 위해선 iostream을 include해줘야한다.

출력은 std::cout을 사용한다.
- 줄맞춤을 할땐 "\t"를 사용한다.
- \뒤에 문자는 어떠한 기능을 수행한다.(ex:줄맞춤,줄바꿈)
- 특이점 : \a는 소리를 출력해준다.

입력받을때는 std::cin을 사용한다.
출력과 반대로 입력연산자 >>를 사용한다.

std::을 사용하기 귀찮다면 using namespace std;를 사용한다.

 

#include <iostream>
#include <cstdio>

int main()
{
	//using namespace std;
	//int main(){} 함수안에서 std::를 사용하지 않아도 된다.
	using namespace std;
	int x = 1024;

	//std란 namespace안에 cout함수를 사용한다.
	std::cout << "Test" << std::endl;
	std::cout << "x is " << x << std::endl;
    //\t를 사용하면 줄맞춤이 된다.
	std::cout << "tab" << "\t" << "test" << std::endl;
	std::cout << "tab2" << "\t" << "test" << std::endl;

	//using namespace std;를 해놨기에 std::는 생략되어도 된다.
	//입력받는방법 cin >> 연산자를 사용한다.
	cin >> x;
	cout << "x change " << x << endl;

	return 0;
}

'개발 소발 > 개발 C++(기초)' 카테고리의 다른 글

c++ 키워드,식별자란?  (0) 2019.06.26
c++ 함수란?  (0) 2019.06.25
c++ 객체,변수,초기화,대입이란?  (0) 2019.06.25
C언어 파일입출력  (0) 2019.01.18
C언어 코딩 함수포인터,구조체  (0) 2019.01.08

객체 Objects
- 객체지향 프로그래밍란 말에서 사용되는 객체(Object)
- c++,java에서 사용
- 물리적으로 공간을 차지하고 있는 물체를 존재한다고 본다.
- 컴퓨터안에선 메모리에 저장이 돼있는 정보가 객체로서 존재한다고 본다.

변수 variables
- 객체를 다루고 싶을때 즉, 메모리에 올려놓고 사용하고 싶을 때 사용한다.
- ex)아파트 104동 1014호 1041014로 저장하면 보기 힘드므로 OO 네 집처럼 이름 저장한다.

Left-values와 Right-values

- Left-values는 알기 쉬운 주소 값을 가지고 있다.

Right-values는 주소값을 알기 어렵다.


초기화 initializaion와 대입 assignment

- int a = 123; int a(123);등이 initializaion초기화이다.

- 초기화는 메모리에 적재될 때 같이 집어 값을 넣어준다.

- int b; 

- b = 123;은 assignment 대입의 개념 생성된 메모리 안에 값을 대입해준다.


초기화를 안 했을 때의 문제점

- 메모리 주소 안에 garbage값이 들어 있을 수 있다.

 

#include <iostream>

int main()
{
	//x라는 정수형(interger)변수를 선언했다.
	//x도 객체이다. x는 숫자를 담을수있는공간을 메모리에 차지하고 있다.
	//x 메모리의 이름이다.
	int x;
	//x = 123 <- assignment 대입해준다.
	//프로그래밍에서 = 는 보통 오른쪽값을 왼쪽에 대입해준다.
	//즉, x란 변수가 가르키고있는 메모리 공간에 123을 대입해준다.
	x = 123;

	//x의 주소의 대입되어있는 값 출력
	std::cout << x << std::endl;
	//x의 주소 출력(메모리주소)
	std::cout << &x << std::endl;

	//Left-values int x 는 메모리의 주소를 가지고있다.
	//Right-values 123는 프로그래머가 임시로 저장된 주소를 가져오기가 어렵다.
	int a = 123;
	//왼쪽 a는 Left-values이나 오른쪽 a는 a의 값을 임시로 복사해온 right-values로 본다.
	a = a + 123;

	//int z = 123;
	//z라는 변수가 메모리에 할당받을때 바로 집어넣어준다.
	//메모리에 garbage 값이 있을수 있기에 초기화 해준다.
	//initialization
	int z = 123;
	
	//x = 123 <- assignment 대입해준다.
	z = 123;

	//initialization와 assignment같아보이지만 다르다.
	//ex)int z(123);으로 사용할 수 있다.
	//initialization의 개념은 생성자,소멸자,오버로딩,오버라이딩에 사용된다.
	
	return 0;
}

'개발 소발 > 개발 C++(기초)' 카테고리의 다른 글

c++ 함수란?  (0) 2019.06.25
c++ 입력,출력  (0) 2019.06.25
C언어 파일입출력  (0) 2019.01.18
C언어 코딩 함수포인터,구조체  (0) 2019.01.08
C언어 코딩 동적메모리 할당  (0) 2019.01.07

+ Recent posts