2022-08-09 구조체

Yama·2022년 8월 9일
0

C언어 기초

목록 보기
12/15

구조체(기본,사용,배열,포인터) ,구조체안에 구조체, typedef, 나도코딩

#include <stdio.h>

struct GameInfo //구조체가 만들어진것
{
char name;
int year;
int price;
char
company;

struct GameInfo * friendGame; //연관 업체 게임  // 자기가 가지고잇는 구조체내에 자기 구조체를 선언하고

};
typedef struct {
char name;
int year;
int price;
char
company;

struct GameInfo * friendGame;

} GAME_INFO;

int main(void)
{
// [게임 출시]
// 이름 :나도게임
// 발매년도 : 2017년
// 가격 : 50원
// 제작사 : 나도회사
char name = "나도게임";
int year = 2017;
int price = 100;
char
company = "나도회사";

// [또 다른 게임 출시]
// 이름 :너도게임
// 발매년도 : 2017년
// 가격 : 100원
// 제작사 : 너도회사

char * name2 = "너도게임";
int year2 = 2017;
int price2 = 100;
char * company2 = "너도회사";

// 구조체 사용
struct GameInfo gameInfo1;
gameInfo1.name = "나도게임";
gameInfo1.year = 2017;
gameInfo1.price = 50;
gameInfo1.company = "나도회사";

// 구조체 출력
printf("-- 게임 출시 정보 --\n");
printf("  게임명   : %s\n", gameInfo1.name);
printf("  발매년도 : %d\n", gameInfo1.year);
printf("  가격     : %d\n", gameInfo1.price);
printf("  제작사   : %s\n", gameInfo1.company);

// 구조체를 배열처럼 초기화
struct GameInfo gameInfo2 = {"너도게임", 2017, 100, "너도회사"};
printf("\n\n-- 게임 출시 정보 --\n");
printf("  게임명   : %s\n", gameInfo2.name);
printf("  발매년도 : %d\n", gameInfo2.year);
printf("  가격     : %d\n", gameInfo2.price);
printf("  제작사   : %s\n", gameInfo2.company);

// 구조체 배열 
struct GameInfo gameArray[2] = {
	{"나도게임", 2017, 50, "나도회사"} ,
	{"너도게임", 2017, 100, "너도회사"}
};

//구조체 포인터
struct GameInfo* gamePtr; //미션맨
gamePtr = &gameInfo1;
printf("\n\n-- 미션맨의 게임 출시 정보 --\n");
/*printf("  게임명   : %s\n", (*gamePtr).name); // *ptr
printf("  발매년도 : %d\n", (* gamePtr).year);
printf("  가격     : %d\n", (* gamePtr).price);
printf("  제작사   : %s\n", (* gamePtr).company); */
printf("  게임명   : %s\n", gamePtr->name);  // -> 이거사용해도됨.
printf("  발매년도 : %d\n", gamePtr->year);
printf("  가격     : %d\n", gamePtr->price);
printf("  제작사   : %s\n", gamePtr->company); 

// 연관 업체 게임 소개
gameInfo1.friendGame = &gameInfo2;
printf("\n\n-- 연관 업체의 게임 출시 정보 --\n");
printf("  게임명   : %s\n", gameInfo1.friendGame->name);  
printf("  발매년도 : %d\n", gameInfo1.friendGame->year);
printf("  가격     : %d\n", gameInfo1.friendGame->price);
printf("  제작사   : %s\n", gameInfo1.friendGame->company);

// typedef
// 자료형에 별명 지정
int i = 1;
typedef int 정수; //int == 정수
typedef float 실수;
정수 정수변수 = 3; //int i = 3;
실수 실수변수 = 3.23f; // float f = 3.23f;
printf("\n\n정수변수 : %d, 실수변수 %.2f\n\n", 정수변수, 실수변수);

typedef struct GameInfo 게임정보;
게임정보 game1; 
game1.name = "한글 게임";
game1.year = 2015;

GAME_INFO game2;
game2.name = "한글 게임2";
game2.year = 2014;

/*struct GameInforomation game3;
game3.name = "한글 게임3"; */


return 0;

}

0개의 댓글