C++/기본 문법

배열 && 구조체

겨울엔군고구마한잔 2022. 6. 30. 01:24

배열

주어진 메모리연속적으로 존재하는 자료형

구조체

주어진 메모리를 어떤 방식으로 읽어서 표현할 것인지, 방법을 사용자 정의에 맞춘 자료형

 

[ 코드 ] C 형식 - 단순 struct

잘못된 표현 - 명시적 표현의 생략

// C 형식 - 잘못된 표현 : 명시적 표현이 생략됨

struct NewStruct{
	int A;
    float B;
};

int main(){
	NewStruct New;
	return 0;
}

옳은 표현 - 명시적 표현 표기

// C 형식 - 옳은 표현 : 명시적 표현을 해줘야함

struct NewStruct{
	int A;
    float B;
};

int main(){
	struct NewStruct New;
	return 0;
}

 

[ 코드 ] C 형식 - typedef struct

// C 형식 - 옳은 표현 : 타입 선언 typedef

typedef struct NewStruct{
	int A;
    float B;
}NewStruct;

int main(){
	NewStruct New;
	return 0;
}

 

[ 코드 ] C++ 형식

C++ 에선 struct에 대한 명시적 표현이 생략 가능

// C++ 형식 - 잘못된 표현 : 명시적 표현이 생략됨

struct NewStruct{
	int A;
    float B;
};

int main(){
	NewStruct New;
	return 0;
}

 

하지만, C/C++ 둘 다 사용이 가능하기 위해서, typedef 형식으로 구조체를 선언하는 것이 좋다

// C++ 형식 - 옳은 표현 : 타입 선언 typedef

typedef struct NewStruct{
	int A;
    float B;
}NewStruct;

int main(){
	NewStruct New;
	return 0;
}

 

[ 결론 ] - 구조체는 typedef 형식으로 선언해주자