1. 구조체
하나 이상의 변수를 묶어 그룹화 하는 사용자 정의 자료형
ex) 사람 = 이름, 나이, 성별 등등등
1) 일반 변수
struct person//(구조체명)
{
char * name; //(멤버변수명)
int age; //(멤버변수명)
};
struct person user1; //user1이라는 변수안에 name, age가 들어있다고 생각하면됨
user1.name = "h user"; //user1이 가지고있는 name에 "h user"를 대입해라
printf("%s", user1.name); //user1.name 출력
struct person//(구조체명)
{
char * name; //(멤버변수명)
int age; //(멤버변수명)
}person; // 이렇게 생성과 동시에 정의해도됨
user1.age = 20; //user1이 가지고있는 name에 "h user"를 대입해라
printf("%d", user1.age); //user1.age 출력
2) 포인터에 담을 때
struct person//(구조체명)
{
char * name; //(멤버변수명)
int age; //(멤버변수명)
};
struct person *p; //user1이라는 변수안에 name, age가 들어있다고 생각하면됨
p -> name = "test2"
p -> age = "20"
printf("%s : %d", p->name, p->age); //user1.name 출력
3) 예제
#include<stdio.h>
int main(){
struct list { // 구조체 이름 list
int *fp; // 포인터 변수 fp, 주소값이 담김
} data, *p; // data, *p 각각 구조체 생성
int x[] = { 100, 200, 300, 400 };
p = &data; //data의 주소값 p에 대입
p->fp = x + 1; // p가 바라보는 data의 fp에 x가 가진 주소에서 1을 더한다.
printf("%d", *(++p->fp)); // p가 바라보는 fp에 ++1을 한 주소값의 값, 300 출력
return 0;
}
'|Developer_Study > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 예상 문제2 (0) | 2023.03.10 |
---|---|
[정보처리기사 실기] 12과목 - 제품 소프트웨어 패키징 (0) | 2023.03.10 |
[정보처리기사 실기] 11과목 - 응용 SW 기초 기술 활용 (0) | 2023.03.08 |
[정보처리기사 실기] 10과목 - 애플리케이션 테스트 (0) | 2023.03.06 |
[정보처리기사] 예상 문제1 (0) | 2023.03.06 |
댓글