본문 바로가기
C/c언어 수업

구조체

by sj0020 2020. 10. 6.
#include <stdio.h>
#include <string.h>

int main()
{
	// 구조체(사용자가 정의한 타입) 정의	
	struct bibim{
		int a;
		float b;
		char c;
		char d[5];
	};
	
	struct bibim b1, b2; // 구조체 변수 선언
	
	//구조체 멤버변수에 값 저장
	b1.a = 10;
	b1.b =1.1f;
	b1.c = 'A';
	strncpy(b1.d, "ABCDE", 5);	
	
	b2.a = 100;
	b2.b = 10.1f;
	b2.c = 'B';
	strncpy(b2.d, "hello", 5);
	
		
	printf("--------b1 struct--------\n");
	printf("a: %d\n", b1.a);
	printf("b: %f\n", b1.b);
	printf("c: %c\n", b1.c);
	printf("d: %s\n", b1.d);
	
	printf("--------b2 struct--------\n");
	printf("a: %d\n", b2.a);
	printf("b: %f\n", b2.b);
	printf("c: %c\n", b2.c);
	printf("d: %s\n", b2.d);
	
		
}

 

#include <stdio.h>

int main()
{
	char name[10];
	int kor;
	int eng;
	float avg;
	
	printf("이름: ");
	scanf("%s", name); //배열의 이름이 주소라서 &안붙여도 된다
	
	printf("국어 점수 : ");
	scanf("%d", &kor);
	
	printf("영어 점수 : ");
	scanf("%d", &eng);
	
	avg = (kor + eng) / 2.0f;
	
	printf("학생 이름 = = > %s\n", name);
	printf("국어 점수 = = > %d\n", kor);
	printf("영어 점수 = = > %d\n", eng);
	printf("평균 점수 = = > %5.1f\n", avg);
	
}

 

#include <stdio.h>

struct student {
	char name[10];
	int kor;
	int eng;
	float avg;
};

struct student st;

int main()
{
	
	printf("이름: ");
	scanf("%s", st.name); //배열의 이름이 주소라서 &안붙여도 된다
	
	printf("국어 점수 : ");
	scanf("%d", &st.kor);
	
	printf("영어 점수 : ");
	scanf("%d", &st.eng);
	
	st.avg = (st.kor + st.eng) / 2.0f;
	
	printf("학생 이름 = = > %s\n", st.name);
	printf("국어 점수 = = > %d\n", st.kor);
	printf("영어 점수 = = > %d\n", st.eng);
	printf("평균 점수 = = > %5.1f\n", st.avg);
	
}

 

#include <stdio.h>

typedef unsigned int u32;

typedef struct _STUDENT {
	char name[10];
	u32 kor;
	int eng;
	float avg;
} STUDENT;

STUDENT st[100]; // 구조체 변수 선언

int main()
{
	for (int i = 0; i < 3; i++) {
		printf("이름: ");
		scanf("%s", st[i].name); //배열의 이름이 주소값이므로 & 표시하지 않음

		printf("국어 점수 : ");
		scanf("%d", &st[i].kor);

		printf("영어 점수 : ");
		scanf("%d", &st[i].eng);

		st[i].avg = (st[i].kor + st[i].eng) / 2.0f;
	}

	for (int j = 0; j < 3; j++) {
		printf("학생 이름 = = > %s\n", st[j].name);
		printf("국어 점수 = = > %d\n", st[j].kor);
		printf("영어 점수 = = > %d\n", st[j].eng);
		printf("평균 점수 = = > %5.1f\n", st[j].avg);
		printf("-------------------------\n");
	}
	
		
}

'C > c언어 수업' 카테고리의 다른 글

#If #else #endif 전처리기  (0) 2020.11.09
이차원 배열 개념  (0) 2020.08.19
포인터  (0) 2020.08.11
p485 배열값바꾸기  (0) 2020.08.11
p481 배열 주소값 전달 원리  (0) 2020.08.11