1.구조체
#include<iostram>
struct tag //구조체
{
const char* name;
int hp;
int mp;
float speed;
}t4; // 마지막엔 세미콜론을 박아준다. // 1.
void main()
{
//2.
tag t1; //선언
t1.char* = "Go블린"
t1.hp = 80;
t1.mp = 0;
t1.speed = 2.1f;
//3.
tag t2 = {"Co볼트", 70, 0, 2.6}
//4.
tag t3[5];
}
1. 구조체의 끝 }; 부분에 저렇게 선언 가능 아래 선언된 것들 처럼 사용가능
2. 저런식으로 하나 만들고 여러개의 변수를 넣어줄 수 있음.
3. 3번과 같이 한번에 넣어줄 수 도 있음.
4. 4번과 같이 배열을 사용해 여러개를 한번에 만들 수 있음.
2.enum문(열거형)
#include<iostream>
enum TEST
{
ZERO, // 0의 값을 가짐
ONE, // 다음으로 갈수록 +1됨 그렇기에 ONE의 값은 1
TWO = 2, //값을 넣어 초기화도 가능
THREE, //넘어갈수록 +1되어 그 전 값에서 더해 THREE는 3
};
void main()
{
TEST test; // 선언
switch(test)
{
case ZERO:
break;
case ONE:
break;
case TWO:
break;
case THREE:
break;
}
}
1. enum문(열거형)은 switch에 사용가능!
2. 선언 후 저렇게 사용하면 case에 0 1 2 3이 아니라 enum문에 열거자가 case에 들어가서 보기 좋음
3. enum문도 끝에 세미콜론을 박아줘야함
3-1#define
#include<iostream>
#define sum 100 //세미콜론을 넣지 않음!
#define X(x) x*x // #define 이름 매크로
void main()
{
int i = 0;
int i1 = 0;
int j = 10;
int k = 5;
i = j + sum; // 1.
i1 = X(k);
}
1. i 의 값은 sum은 100이기 때문에 j + 100 = 110이다.
2-1. i1의 값은 65
2-2.#define 안에서 연산은 (k+j)*(k+j)가 아니라
2-3. k+j*k+j 라서 5+10*5+10 이다.
2-4. 2-2와 같은 연산을 원한다면 X((k+j)) 이렇게 넣어야한다
3-2 #ifdef
#include<iostream>
#define sum
void main()
{
#ifdef sum 1.
#else
#endif
}
1. sum 매크로가 있을 경우 #ifdef가 실행
2. 아니라면 #else 실행
3. if문 같다.
'C++' 카테고리의 다른 글
9. (간단한)포인터 (0) | 2021.05.20 |
---|---|
8. 함수 (0) | 2021.05.20 |
6. 형 변환 (0) | 2021.05.20 |
5. 배열, 셔플 알고리즘 (0) | 2021.05.20 |
4. 반복문 , 제어문 (0) | 2021.05.20 |