포도가게의 개발일지
Typedef struct(구조체) 본문
반응형
struct vs class 의 차이는
- 접근지시제어자의 사용 가능 여부의 차이가 있다
- class에서는 아래 세가지의 접근지시제어자를 가질 수 있지만 struct에는 없다
public : 어디서든 접근 가능
protected : 상속관계에서 유도 클래스에서만 접근 가능
private : 클래스 내에서만 접근 가능
struct vs typedef struct의 차이?
1. typedef struct
typedef struct 구조체이름{
자료형 멤버이름;
자료형 데이터;
}구조체 별칭
typedef struct Person{
char name[20];
int age;
char address[100];
}Person; ##구조체 이름과 동일하게 별칭을 쓸 수 있음
int main(){
Person p1; #별칭 변수선언
strcpy(p1.name, "홍길동");
p1.age = 30;
strcpy(p1.address, "서울시 용산구 한남동");
printf("이름: %s\n", p1.name); // 이름: 홍길동
printf("나이: %d\n", p1.age); // 나이: 30
printf("주소: %s\n", p1.address); // 주소: 서울시 용산구 한남동
return 0;
}
2. struct
struct Person { // 구조체 정의
char name[20]; // 구조체 멤버 1
int age; // 구조체 멤버 2
char address[100]; // 구조체 멤버 3
};
int main()
{
struct Person p1; // 구조체 변수 선언
// 점으로 구조체 멤버에 접근하여 값 할당
strcpy(p1.name, "홍길동");
p1.age = 30;
strcpy(p1.address, "서울시 용산구 한남동");
// 점으로 구조체 멤버에 접근하여 값 출력
printf("이름: %s\n", p1.name); // 이름: 홍길동
printf("나이: %d\n", p1.age); // 나이: 30
printf("주소: %s\n", p1.address); // 주소: 서울시 용산구 한남동
return 0;
}
#################################################################################
struct Person { // 구조체 정의
char name[20]; // 구조체 멤버 1
int age; // 구조체 멤버 2
char address[100]; // 구조체 멤버 3
} p1; // 구조체를 정의하는 동시에 변수 p1 선언
int main()
{
// 점으로 구조체 멤버에 접근하여 값 할당
strcpy(p1.name, "홍길동");
p1.age = 30;
strcpy(p1.address, "서울시 용산구 한남동");
// 점으로 구조체 멤버에 접근하여 값 출력
printf("이름: %s\n", p1.name); // 이름: 홍길동
printf("나이: %d\n", p1.age); // 나이: 30
printf("주소: %s\n", p1.address); // 주소: 서울시 용산구 한남동
return 0;
}
#################################################################################
struct Person {
char name[20];
int age;
char address[100];
};
int main()
{
// name에는 "홍길동", age에는 30, address에는 "서울시 용산구 한남동"
struct Person p1 = { .name = "홍길동", .age = 30, .address = "서울시 용산구 한남동" };
printf("이름: %s\n", p1.name); // 이름: 홍길동
printf("나이: %d\n", p1.age); // 나이: 30
printf("주소: %s\n", p1.address); // 주소: 서울시 용산구 한남동
// name에는 "고길동", age에는 40, address에는 "서울시 서초구 반포동"
struct Person p2 = { "고길동", 40, "서울시 서초구 반포동" };
printf("이름: %s\n", p2.name); // 이름: 고길동
printf("나이: %d\n", p2.age); // 나이: 40
printf("주소: %s\n", p2.address); // 주소: 서울시 서초구 반포동
return 0;
}
'C언어' 카테고리의 다른 글
C언어 포인터 (0) | 2021.09.04 |
---|---|
C언어 malloc (0) | 2021.09.02 |
Comments