구조체(타입)
변수 : 반복되는 값들을 편하게 관리하기 위해
함수 : 반복되는 문장들을 편하게 관리하기 위해서
구조체 : 반복되는 변수들을 편하게 관리하기 위해서
(함수는 C++, JAVA에서 관리 가능 : 클래스)
- 구조체를 사용하기 위해서는 공통요소를 찾아야함!
구조체 선언
struct 구조체이름{
자료형 멤버변수명;
...
};
구조체 사용
(1)
struct 구조체이름 변수명;
변수명.멤버변수명 = 값;
( . : 하위연산자 )
( A.b : A안에 b )
(2)
struct 구조체이름 변수명 = { .멤버변수명 = 값,...}
(3)
struct 구조체이름 변수명 = {값, ...}
#include <stdio.h>
#include <windows.h>
//Animal 구조체 만들기
struct Animal {
//구조체 내에서는 초기화 할 수 없다.
char name[20];
int age;
char feed[20];
};
void main() {
//돼지
struct Animal dog = {"뽀삐", 10, "사료"};
printf("동물 이름을 입력하세요\n");
scanf_s("%s", dog.name, sizeof(dog.name));
printf("%s 나이를 입력하세요\n", dog.name);
scanf_s("%d", &dog.age);
printf("%s 먹이를 입력하세요\n", dog.name);
scanf_s("%s", dog.feed, sizeof(dog.feed));
system("cls");
printf("동물 이름 : %s\n", dog.name);
printf("%s 나이 : %d살\n", dog.name, dog.age);
printf("%s 먹이 : %s\n", dog.name, dog.feed);
}
//1024로 입력하면 "일공이사"로 출력하기
//함수만들기
#include <stdio.h>
#include <string.h>
void changeToHangle(char* );
void main() {
char arNum[10] = "";
printf("한글로 변경하실 정수를 입력하세요.\n");
scanf_s("%s", arNum, sizeof(arNum));
//문자열의 경우 사이즈를 넘겨줘야함.
//사이즈가 넘을 경우, 큰 오류가 생길 수 있음.
changeToHangle(arNum);
}
void changeToHangle(char* arNum){
//문자열 : 1024
char arHangle[10][5] = { "공", "일", "이", "삼", "사", "오", "육", "칠", "팔", "구" };
for (int i = 0; i < strlen(arNum); i++) {
printf("%s", arHangle[arNum[i] - 48]);
}
printf("\n");
//arHangle[arNum[0] - 48] //"일"
//arHangle[arNum[1] - 48] //"공"
//arHangle[arNum[2] - 48] //"이"
//arHangle[arNum[3] - 48] //"사"
}
'C언어 > 예습' 카테고리의 다른 글
[C언어 예습]DAY17_동적 배열 실생활 예제(막대그래프), 알고리즘 예제(Baseball Game) (0) | 2020.02.10 |
---|---|
[C언어 예습]DAY16_동적 할당, 동적 배열 (0) | 2020.02.10 |
[C언어 예습]DAY15_인터배열과 배열포인터, 지역변수, 전역변수, static변수 (0) | 2020.02.10 |
[C언어 예습]DAY14_포인터(2) 정적 배열, 동적 배열, 이중 포인터 (0) | 2020.02.05 |
[C언어 예습]DAY13_포인터(1) (0) | 2020.02.05 |