자료형을 불러올때 별명(가명) 붙여주기

typedef,using을 이용한다
예를 들어 자료형 double중에 거리에 사용되는 double형을 

별명을 붙여 사용한다면 공통으로 사용된 자료형을 관리하기 쉽다.
또 복잡한 자료형에 사용하면 보기 좋고 사용하기도 좋다.

#include <iostream>
#include <cstdint>
#include <vector>

using namespace std;


int main()
{
	typedef double distance_t;
	//고정너비 변수
	std::int8_t i(97);


	//컴파일러입장에선 같다.
	double distance;
	distance_t distance2;

	//vector<pair<string, int>> 를 줄여사용하기
	typedef vector<pair<string, int>> pairlist_t;
	//using사용
	using pairlist_t1 = vector<pair<string, int>>;

	return 0;
}

구조체struct

 

하나의 자료형으로 복잡한것(사람정보)을 구현하기 어렵다.
구조체를 이용해 하나의 사용자 정의 자료형으로 구현할 수 있다.
여러정보집합의 다수개의 정보를 저장할때도 구조체가 좋다.

 

구조체안에 함수를 구현할 수 있다.
구조체안에 구조체를 구현할 수도 있다.
구조체 대입,구조체 반환값도 가능하다.


sizeof로 사용Byte를 알수 있다(정확하진않고 조금더 추가될 수 있다).

#include <iostream>
#include <string>

using namespace std;

struct Person
{
	int id;
	double	height;
	float	weight;
	int		age;
	//기본값 정의도 가능하다.
	string	name = "me";
	//구조체안 함수 구현
	void printPersonInfo()
	{
		cout << height << endl;
		cout << weight << endl;
		cout << age << endl;
		cout << name << endl;
	}
};

void printPersonInfo(Person p)
{
	cout << p.height << endl;
	cout << p.weight << endl;
	cout << p.age << endl;
	cout << p.name << endl;
}

int main()
{

	//사람1정보구현
	double	height;
	float	weight;
	int		age;
	string	name;
	//사람2정보구현
	double	height2;
	float	weight2;
	int		age2;
	string	name2;
	
	//구조체구현이 훨씬 간단하다.
	Person person1{1, 2.0,100.0,20,"me" };
	Person person2{2, 2.0,100.0,20,"you" };

	//구조체로 묶여있어 인자로 보내기도 편하다.
	printPersonInfo(person1);
	//구조체안에 함수 구현 출력하기
	person1.printPersonInfo();

	//구조체 대입하기
	Person copyP = person1;
	cout << &person1 << " copyP addr : " << &copyP << endl;

	//사용Byte알아오기
	cout << sizeof(copyP) << endl;

	return 0;
}

+ Recent posts